Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

192 lines (182 sloc) 9.747 kB
/*
LaTeX Package keymap for OSX
*/
[
// { "keys": ["ctrl+alt+t"], "command": "make_pdf" }, // now bound to Command-B via the standard build system
{ "keys": ["ctrl+alt+s"], "command": "tex_sections" },
/* why not use TextMate's keybindings?
we only clobber next-tab and previous-tab, whihc are also bound
to arrow keys */
{ "keys": ["super+shift+right_bracket"], "command": "latexcmd"},
{ "keys": ["super+shift+left_bracket"], "command": "latexenv"},
{ "keys": ["super+shift+period"], "command": "latex_env_closer"},
/* can't use forward slash or period; also, why not CMD? */
{ "keys": ["super+alt+forward_slash"], "command": "tex_macro"},
/* alternatives: the second is reminiscent of super+B for build */
{ "keys": ["ctrl+alt+v"], "command": "view_pdf"},
{ "keys": ["ctrl+alt+r"], "command": "tex_ref"},
{ "keys": ["super+shift+j"], "command": "jump_to_pdf"},
{ "keys": ["super+shift+b"], "command": "view_pdf"},
{ "keys": ["super+ctrl+f"], "command": "toggle_focus"},
// Cross-reference commands
{ "keys": ["super+shift+c"], "command": "latex_cite"},
// Wrapping commands
{ "keys": ["alt+shift+w","c"],
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}],
"command": "insert_snippet", "args": {"name":"Packages/LaTeXTools/Wrap in command.sublime-snippet"}},
{ "keys": ["alt+shift+w","n"],
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}],
"command": "insert_snippet", "args": {"name":"Packages/LaTeXTools/Wrap in environment.sublime-snippet"}},
{ "keys": ["alt+shift+w","e"],
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}],
"command": "insert_snippet", "args": {"name":"Packages/LaTeXTools/Text emphasize.sublime-snippet"}},
{ "keys": ["alt+shift+w","b"],
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}],
"command": "insert_snippet", "args": {"name":"Packages/LaTeXTools/Text boldface.sublime-snippet"}},
{ "keys": ["alt+shift+w","u"],
"context": [
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"}],
"command": "insert_snippet", "args": {"name":"Packages/LaTeXTools/Text underline.sublime-snippet"}},
// Auto-pair ``$''
// Lifted from default file
// insert matching $
// note the "key": "selector" line!
{ "keys": ["$"], "command": "insert_snippet", "args": {"contents": "\\$$0\\$"},
"context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
/*{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|])", "match_all": true },*/
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "[\"a-zA-Z0-9_]$", "match_all": true },
{ "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double", "match_all": true }
]
},
// wrap in $
{ "keys": ["$"], "command": "insert_snippet", "args": {"contents": "\\$${0:$SELECTION}\\$"}, "context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
// move over closing $
{ "keys": ["$"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\$", "match_all": true }
]
},
// delete $ pair
{ "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Left Right.sublime-macro"}, "context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "\\$$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\$", "match_all": true }
]
},
// overlay specifications (Tobias Schmidt)
// FIXME: the scope for the four following should actually be text.tex.latex.beamer, but for some reason this does not seem to work
{ "keys": ["<"], "command": "insert_snippet", "args": {"contents": "<${1:+-}>$0"},
"context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "\\item|only|textbf|color|onslide|only|uncover|visible|invisible|alt|temporal$", "match_all": true }
]
},
// wrap in <>
{ "keys": ["<"], "command": "insert_snippet", "args": {"contents": "<${0:$SELECTION}>"}, "context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
// move over closing >
{ "keys": [">"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^>", "match_all": true }
]
},
// delete <> pair
{ "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Left Right.sublime-macro"}, "context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "<$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^>", "match_all": true }
]
},
// autopair quotation marks (`')
{ "keys": ["`"], "command": "insert_snippet", "args": {"contents": "`$0'"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
{ "keys": ["`"], "command": "insert_snippet", "args": {"contents": "`${0:$SELECTION}'"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
{ "keys": ["'"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }
]
},
{ "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "Packages/Default/Delete Left Right.sublime-macro"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "text.tex.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "`$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }
]
},
// automatic addition of new \items when hitting Shift+Enter in a list environment
{ "keys": ["shift+enter"], "command": "insert_snippet", "args": {"contents": "\n\\item $0"},
"context":
[
{"key": "selector", "operator": "equal", "operand": "meta.function.environment.list.latex"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
// shift+super+{up,down} for super/subscripts with braces
// (courtesy of Tobias Schmidt; I only changed the keybindings)
{ "keys": ["shift+super+down"], "command": "insert_snippet", "args": {"contents": "_{$1}$0"},
"context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex string.other.math"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
{ "keys": ["shift+super+up"], "command": "insert_snippet", "args": {"contents": "^{$1}$0"},
"context":
[
{"key": "selector", "operator": "equal", "operand": "text.tex.latex string.other.math"},
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
}
]
Jump to Line
Something went wrong with that request. Please try again.