The reason you can't find the rule is because, in the current version of the syntax, it's not in LaTeX.sublime-syntax, but in TeX.sublime-syntax, where you'll find:
- match: \$\$
captures:
0: punctuation.definition.string.begin.tex
push:
- meta_scope: string.other.math.block.tex
- match: \$\$
captures:
0: punctuation.definition.string.end.tex
pop: true
- include: scope:text.tex.math
- include: main
and
- match: \$
captures:
0: punctuation.definition.string.begin.tex
push:
- meta_scope: string.other.math.tex
- match: \$
captures:
0: punctuation.definition.string.end.tex
pop: true
- match: \\\$
scope: constant.character.escape.tex
- include: scope:text.tex.math
- include: main
You can change the meta_scope property. I'd recommend changing the first to meta.environment.math.block.dollar.latex and the second to meta.environment.math.inline.dollar.latex, as these are the scopes used in the revision of the LaTeX syntax that will be in the next beta, and they will ensure that math mode completions will continue to work. If you don't care about math mode completions, you can change them to whatever you want.
Overriding the $ keybindings is quite a bit different. Select Preferences | Key Bindings – User and add the following key binding:
{"keys": ["$"], "command": "insert_snippet", "args": {"contents": "\\$"},
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}
]
}
Bear in mind that this is one entry in a JSON list so the file should start with [ end with ] and you need a comma before it if there are preceding entries, etc. (See the docs on this). This simply tells ST to insert a $ when you type $ in a LaTeX document.