From aa52701258e9487ee98d88232a92d28d70b02016 Mon Sep 17 00:00:00 2001 From: Stefan Ollinger Date: Sat, 8 Oct 2011 18:00:45 +0200 Subject: [PATCH] Added linux default keymap. --- Default (Linux).sublime-keymap | 165 +++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 Default (Linux).sublime-keymap diff --git a/Default (Linux).sublime-keymap b/Default (Linux).sublime-keymap new file mode 100644 index 00000000..66b51fac --- /dev/null +++ b/Default (Linux).sublime-keymap @@ -0,0 +1,165 @@ +/* +LaTeX Package keymap for Linux +*/ +[ + // { "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"}, + + // 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 } + ] + } + + +]