Created
March 12, 2014 18:47
-
-
Save flipsi/9513662 to your computer and use it in GitHub Desktop.
Sublime Text Key Bindings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
| [ | |
| /////////////////////////////// | |
| // Sublime-Text Key Bindings // | |
| /////////////////////////////// | |
| // Author: Philipp Moers <soziflip funnycharacter gmail dot com> | |
| /////////// | |
| // View // | |
| /////////// | |
| // zoom | |
| { "keys": ["z", "i"], "command": "increase_font_size", "context": [{"key": "setting.command_mode"}] }, | |
| { "keys": ["z", "o"], "command": "decrease_font_size", "context": [{"key": "setting.command_mode"}] }, | |
| // side bars | |
| { "keys": ["f3"], "command": "toggle_side_bar" }, | |
| { "keys": ["f4"], "command": "toggle_minimap" }, | |
| // word wrap | |
| { "keys": ["f5"], "command": "toggle_setting", "args": {"setting": "word_wrap"} }, | |
| // spell check | |
| { "keys": ["f6"], "command": "toggle_setting", "args": {"setting": "spell_check"} }, | |
| // scroll up and down | |
| { "keys": ["alt+m"], "command": "scroll_lines_fixed", "args": {"amount": 15} }, | |
| { "keys": ["alt+space"], "command": "scroll_lines_fixed", "args": {"amount": -15} }, | |
| { "keys": ["alt+up"], "command": "move", "args": {"by": "pages", "forward": false} }, | |
| { "keys": ["alt+down"], "command": "move", "args": {"by": "pages", "forward": true} }, | |
| { "keys": ["alt+right"], "command": "scroll_width", "args": {"amount": 15 } }, | |
| { "keys": ["alt+left"], "command": "scroll_width", "args": {"amount": -15 } }, | |
| // fold | |
| { "keys": ["ctrl+k", "-"], "command": "fold" }, | |
| { "keys": ["ctrl+k", "+"], "command": "unfold" }, | |
| ///////////// | |
| // General // | |
| ///////////// | |
| // move cursor left or right | |
| { "keys": ["alt+h"], "command": "move", "args": {"by": "characters", "forward": false} }, | |
| { "keys": ["alt+l"], "command": "move", "args": {"by": "characters", "forward": true } }, | |
| { "keys": ["alt+shift+h"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true} }, | |
| { "keys": ["alt+shift+l"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true} }, | |
| { "keys": ["alt+b"], "command": "move", "args": {"by": "words", "forward": false} }, | |
| { "keys": ["alt+f"], "command": "move", "args": {"by": "words", "forward": true } }, | |
| { "keys": ["alt+shift+b"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, | |
| { "keys": ["alt+shift+f"], "command": "move", "args": {"by": "words", "forward": true, "extend": true} }, | |
| { "keys": ["alt+e"], "command": "move_to", "args": {"to": "eol", "extend": false} }, | |
| { "keys": ["alt+a"], "command": "move_to", "args": {"to": "bol", "extend": false} }, | |
| { "keys": ["alt+shift+e"], "command": "move_to", "args": {"to": "eol", "extend": true} }, | |
| { "keys": ["alt+shift+a"], "command": "move_to", "args": {"to": "bol", "extend": true} }, | |
| // command palette | |
| { "keys": [":"], "command": "show_overlay", "args": {"overlay": "command_palette", "text": ""}, | |
| "context": [{"key": "setting.command_mode"}] }, | |
| // python repl (console) | |
| { "keys": ["ctrl+alt+c"], "command": "show_panel", "args": {"panel": "console", "toggle": true} }, | |
| // { "keys": ["ctrl+n"], "command": "move", "args": {"by": "lines", "forward": true}, | |
| // "context": [{ "key": "panel_visible", "operator": "equal", "operand": true } ] }, | |
| // { "keys": ["ctrl+p"], "command": "move", "args": {"by": "lines", "forward": false}, | |
| // "context": [{ "key": "panel_visible", "operator": "equal", "operand": true } ] }, | |
| { "keys": ["ctrl+alt+o"], "command": "show_panel", "args": {"panel": "output.exec"} }, | |
| // run arbitrary shell commands with Shell Turtlestein | |
| { "keys": ["ctrl+alt+s"], "command": "shell_prompt"}, | |
| // navigation with tab in overlay | |
| { "keys": ["tab"], "command": "move", "args": {"by": "lines", "forward": true}, | |
| "context": [{ "key": "overlay_visible", "operator": "equal", "operand": true } ] }, | |
| { "keys": ["shift+tab"], "command": "move", "args": {"by": "lines", "forward": false}, | |
| "context": [{ "key": "overlay_visible", "operator": "equal", "operand": true } ] }, | |
| // undo and redo | |
| { "keys": ["alt+u"], "command": "undo" }, | |
| { "keys": ["alt+o"], "command": "redo" }, | |
| // Automatic Backups | |
| // { "keys": ["ctrl+alt+h"], "command": "automatic_backups", "args": { "command": "jump", "forward": false }}, | |
| // { "keys": ["ctrl+alt+j"], "command": "automatic_backups", "args": { "command": "step", "forward": false }}, | |
| // { "keys": ["ctrl+alt+k"], "command": "automatic_backups", "args": { "command": "step", "forward": true }}, | |
| // { "keys": ["ctrl+alt+ö"], "command": "automatic_backups", "args": { "command": "jump", "forward": true }}, | |
| // { "keys": ["ctrl+alt+ä"], "command": "automatic_backups", "args": { "command": "merge" }}, | |
| // enter insert mode (also from visual mode) | |
| { "keys": ["i"], "command": "enter_insert_mode", | |
| "context": [{"key": "setting.command_mode"}, { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": false } ] }, | |
| // instead of escape key | |
| { "keys": ["alt+i"], "command": "exit_insert_mode", | |
| "context": [{ "key": "setting.is_widget", "operand": false } ] }, | |
| { "keys": ["alt+i"], "command": "exit_visual_mode", | |
| "context": [{ "key": "setting.command_mode"}, | |
| { "key": "num_selections", "operand": 1}, | |
| { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": false } ] }, | |
| { "keys": ["alt+i"], "command": "hide_auto_complete", | |
| "context": [{ "key": "auto_complete_visible", "operator": "equal", "operand": true } ] }, | |
| { "keys": ["alt+i"], "command": "vi_cancel_current_action", | |
| "context": [{ "key": "setting.command_mode" }, | |
| { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": false }, | |
| { "key": "vi_has_input_state" } ] }, | |
| { "keys": ["alt+shift+c"], "command": "hide_overlay", | |
| "context": [{ "key": "overlay_visible", "operator": "equal", "operand": true } ] }, | |
| { "keys": ["alt+shift+c"], "command": "hide_panel", "args": {"cancel": true}, | |
| "context": [{ "key": "panel_visible", "operator": "equal", "operand": true } ] }, | |
| //////////////////////////////// | |
| // Goto Anyting, Search, etc. // | |
| //////////////////////////////// | |
| // open folder | |
| { "keys": ["ctrl+shift+o"], "command": "prompt_open_folder" }, | |
| // reopen file | |
| // { "keys": ["ctrl+shift+t"], "command": "goto_recent_file", "args": {"index": 0 } }, // works without this package | |
| // fuzzy file navigation | |
| { "keys": ["alt+shift+,"], "command": "fuzzy_start_from_file" }, | |
| { "keys": ["alt+,"], "command": "fuzzy_bookmarks_load" }, | |
| // mark line in vim style with m <char> | |
| // and jump there with ä <char> because that's where original ' is located on an english keyboard | |
| { "keys": ["ä", "<character>"], "command": "vi_select_bookmark", "args": {"select_bol": true}, | |
| "context": [{"key": "setting.command_mode"}] }, | |
| // goto anything | |
| // ... # to go to keyword | |
| // ... : to go to line | |
| // ... @ to go to function or section | |
| { "keys": ["ctrl+shift+r"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, | |
| { "keys": [";"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true}, | |
| "context": [{"key": "setting.command_mode"}] }, | |
| // search for words | |
| // (/ and ? location on english keyboard) | |
| { "keys": ["-"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false}, "context": [{"key": "setting.command_mode"}] }, | |
| { "keys": ["_"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":true}, "context": [{"key": "setting.command_mode"}] }, | |
| // { "keys": ["ctrl+g"], "command": "find_next" }, // use n | |
| // { "keys": ["ctrl+shift+g"], "command": "find_prev" }, // use N | |
| ////////////////// | |
| // Text Editing // | |
| ////////////////// | |
| // ctrl+d for marking next occurence of word... so | |
| // find next and leave this out should be | |
| { "keys": ["ctrl+alt+d"], "command": "find_under_expand_skip" }, | |
| // toggle comment | |
| { "keys": ["ctrl+k", "ctrl+k"], "command": "toggle_comment", "args": { "block": false } }, | |
| { "keys": ["ctrl+k", "k"], "command": "toggle_comment", "args": { "block": false } }, | |
| { "keys": ["ctrl+k", "b"], "command": "toggle_comment", "args": { "block": true } }, | |
| // indent | |
| { "keys": ["ctrl+."], "command": "indent" }, | |
| { "keys": ["ctrl+,"], "command": "unindent" }, | |
| // change case | |
| { "keys": ["ctrl+k", "u"], "command": "upper_case" }, | |
| { "keys": ["ctrl+k", "l"], "command": "lower_case" }, | |
| { "keys": ["ctrl+k", "t"], "command": "title_case" }, | |
| // toggle single or double quotes | |
| { "keys": ["alt+q"], "command": "change_quotes" }, | |
| // add new line | |
| { "keys": ["alt+j"], "command": "run_macro_file", "args": {"file": "Packages/Default/Add Line.sublime-macro"} }, | |
| { "keys": ["alt+k"], "command": "run_macro_file", "args": {"file": "Packages/Default/Add Line Before.sublime-macro"} }, | |
| // duplicate line | |
| { "keys": ["alt+shift+d"], "command": "duplicate_line" }, | |
| // move line up and down | |
| { "keys": ["alt+shift+k"], "command": "swap_line_up" }, | |
| { "keys": ["alt+shift+j"], "command": "swap_line_down" }, | |
| // join lines | |
| { "keys": ["ctrl+j"], "command": "join_lines" }, | |
| // sort | |
| { "keys": ["f9"], "command": "sort_lines", "args": {"case_sensitive": false} }, | |
| { "keys": ["ctrl+f9"], "command": "sort_lines", "args": {"case_sensitive": true} }, | |
| // delete last word | |
| { "keys": ["alt+backspace"], "command": "delete_word", "args": { "forward": false } }, | |
| // delete until beginning/end of line with dh/dl | |
| { "keys": ["h"], "command": "set_motion", "args": {"motion": "move_to", "motion_args": {"to": "hardbol", "extend": true}}, | |
| "context": [{"key": "setting.command_mode"}, {"key": "vi_action", "operand": "vi_delete"} ] }, | |
| { "keys": ["l"], "command": "set_motion", "args": {"motion": "vi_move_to_hard_eol", "motion_args": {"repeat": 1, "extend": true}}, | |
| "context": [{"key": "setting.command_mode"}, {"key": "vi_action", "operand": "vi_delete"} ] }, | |
| // change until beginning/end of line with ch/cl | |
| { "keys": ["h"], "command": "set_motion", "args": {"motion": "move_to", "motion_args": {"to": "hardbol", "extend": true}}, | |
| "context": [{"key": "setting.command_mode"}, {"key": "vi_action", "operand": "enter_insert_mode"} ] }, | |
| { "keys": ["l"], "command": "set_motion", "args": {"motion": "vi_move_to_hard_eol", "motion_args": {"repeat": 1, "extend": true}}, | |
| "context": [{"key": "setting.command_mode"}, {"key": "vi_action", "operand": "enter_insert_mode"} ] }, | |
| // Text Pastry | |
| { "keys": ["ctrl+e"], "command": "text_pastry_show_command_line", "args": { "text": "" } }, | |
| { "keys": ["ctrl+shift+e"], "command": "text_pastry_show_menu" }, | |
| /////////// | |
| // Build // | |
| /////////// | |
| { "keys": ["f7"], "command": "build" }, | |
| { "keys": ["ctrl+b", "b"], "command": "build" }, | |
| { "keys": ["ctrl+b", "p"], "command": "build_parts" }, | |
| { "keys": ["ctrl+b", "v"], "command": "build", | |
| "context": [{"key": "build_fake", "operator":"equal", "operand":true}] }, | |
| // find errors (debugging) | |
| { "keys": ["ctrl+b", "n"], "command": "next_result" }, | |
| { "keys": ["ctrl+b", "N"], "command": "prev_result" }, | |
| // SublimeREPL | |
| { "keys": ["ctrl+f7"], "command": "repl_transfer_current", "args": {"scope": "file"}}, | |
| //////////////////////////// | |
| // Sublimerge (Diff Tool) // | |
| //////////////////////////// | |
| { "keys": ["ctrl+m", "m"], "command": "sublimerge"}, | |
| { "keys": ["ctrl+m", "i"], "command": "sublimerge_toggle_edit"}, | |
| // navigate through differences | |
| { "keys": ["ctrl+m", "n"], "command": "sublimerge_go_down"}, | |
| { "keys": ["ctrl+m", "N"], "command": "sublimerge_go_up"}, | |
| // choose left or right file to modify other | |
| { "keys": ["ctrl+m", "l"], "command": "sublimerge_merge_left"}, | |
| { "keys": ["ctrl+m", "h"], "command": "sublimerge_merge_right"}, | |
| { "keys": ["ctrl+m", "L"], "command": "sublimerge_merge_left", "args": {"merge_all": true}}, | |
| { "keys": ["ctrl+m", "H"], "command": "sublimerge_merge_right", "args": {"merge_all": true}}, | |
| ////////// | |
| // Gist // | |
| ////////// | |
| { "keys": ["ctrl+g", "n"], "command": "gist" }, | |
| { "keys": ["ctrl+g", "p"], "command": "gist_private" }, | |
| { "keys": ["ctrl+g", "u"], "command": "gist_update_file" }, | |
| { "keys": ["ctrl+g", "o"], "command": "gist_list" }, | |
| { "keys": ["ctrl+g", "i"], "command": "insert_gist_list" }, | |
| { "keys": ["ctrl+g", "a"], "command": "gist_add_file" }, | |
| ///////////////////// | |
| // Tab Management // | |
| ///////////////////// | |
| // close tab | |
| // { "keys": ["D"], "command": "close", "context": [{"key": "setting.command_mode"}] }, // use ctrl+w instead | |
| // navigate through tabs | |
| { "keys": ["alt+p"], "command": "prev_view" }, | |
| { "keys": ["alt+n"], "command": "next_view" }, | |
| // move tabs | |
| { "keys": ["alt+shift+p"], "command": "move_tab", "args": { "position": "-1" } }, | |
| { "keys": ["alt+shift+n"], "command": "move_tab", "args": { "position": "+1" } }, | |
| // split window in groups | |
| {"keys": ["ctrl+o", "1"], "command": "set_layout", "args": {"cols": [0.0, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1]] } }, | |
| {"keys": ["ctrl+o", "2"], "command": "set_layout", "args": {"cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] } }, | |
| {"keys": ["ctrl+o", "6"], "command": "set_layout", "args": {"cols": [0.0, 0.66, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] } }, | |
| {"keys": ["ctrl+o", "3"], "command": "set_layout", "args": {"cols": [0.0, 0.33, 0.66, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1]] } }, | |
| {"keys": ["ctrl+o", "4"], "command": "set_layout", "args": {"cols": [0.0, 0.25, 0.5, 0.75, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1], [3, 0, 4, 1]] } }, | |
| {"keys": ["ctrl+o", "7"], "command": "set_layout", "args": {"cols": [0.0, 1.0], "rows": [0.0, 0.5, 1.0], "cells": [[0, 0, 1, 1], [0, 1, 1, 2]] } }, | |
| {"keys": ["ctrl+o", "8"], "command": "set_layout", "args": {"cols": [0.0, 1.0], "rows": [0.0, 0.3, 1.0], "cells": [[0, 0, 1, 1], [0, 1, 1, 2]] } }, | |
| {"keys": ["ctrl+o", "9"], "command": "set_layout", "args": {"cols": [0.0, 1.0], "rows": [0.0, 0.33, 0.66, 1.0], "cells": [[0, 0, 1, 1], [0, 1, 1, 2], [0, 2, 1, 3]] } }, | |
| {"keys": ["ctrl+o", "5"], "command": "set_layout", "args": {"cols": [0.0, 0.5, 1.0], "rows": [0.0, 0.5, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [0, 1, 1, 2], [1, 1, 2, 2] ] } }, | |
| // move tab to other group | |
| { "keys": ["ctrl+o", "ctrl+shift+1"], "command": "move_to_group", "args": { "group": 0 } }, | |
| { "keys": ["ctrl+o", "ctrl+shift+2"], "command": "move_to_group", "args": { "group": 1 } }, | |
| { "keys": ["ctrl+o", "ctrl+shift+3"], "command": "move_to_group", "args": { "group": 2 } }, | |
| { "keys": ["ctrl+o", "ctrl+shift+4"], "command": "move_to_group", "args": { "group": 3 } }, | |
| // reset panes | |
| { "keys": ["ctrl+o", "ctrl+o"], "command": "set_layout", "args": {"cols": [0.0, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1]] } }, | |
| /////////////////////////////////// | |
| // Pane Management with Origami // | |
| /////////////////////////////////// | |
| { "keys": ["ctrl+o", "k"], "command": "travel_to_pane", "args": {"direction": "up"} }, | |
| { "keys": ["ctrl+o", "l"], "command": "travel_to_pane", "args": {"direction": "right"} }, | |
| { "keys": ["ctrl+o", "j"], "command": "travel_to_pane", "args": {"direction": "down"} }, | |
| { "keys": ["ctrl+o", "h"], "command": "travel_to_pane", "args": {"direction": "left"} }, | |
| { "keys": ["ctrl+o", "ctrl+shift+k"], "command": "carry_file_to_pane", "args": {"direction": "up"} }, | |
| { "keys": ["ctrl+o", "ctrl+shift+l"], "command": "carry_file_to_pane", "args": {"direction": "right"} }, | |
| { "keys": ["ctrl+o", "ctrl+shift+j"], "command": "carry_file_to_pane", "args": {"direction": "down"} }, | |
| { "keys": ["ctrl+o", "ctrl+shift+h"], "command": "carry_file_to_pane", "args": {"direction": "left"} }, | |
| { "keys": ["ctrl+o", "ctrl+alt+k"], "command": "clone_file_to_pane", "args": {"direction": "up"} }, | |
| { "keys": ["ctrl+o", "ctrl+alt+l"], "command": "clone_file_to_pane", "args": {"direction": "right"} }, | |
| { "keys": ["ctrl+o", "ctrl+alt+j"], "command": "clone_file_to_pane", "args": {"direction": "down"} }, | |
| { "keys": ["ctrl+o", "ctrl+alt+h"], "command": "clone_file_to_pane", "args": {"direction": "left"} }, | |
| { "keys": ["ctrl+o", "ctrl+k"], "command": "create_pane_with_file", "args": {"direction": "up"} }, | |
| { "keys": ["ctrl+o", "ctrl+l"], "command": "create_pane_with_file", "args": {"direction": "right"} }, | |
| { "keys": ["ctrl+o", "ctrl+j"], "command": "create_pane_with_file", "args": {"direction": "down"} }, | |
| { "keys": ["ctrl+o", "ctrl+h"], "command": "create_pane_with_file", "args": {"direction": "left"} }, | |
| { "keys": ["ctrl+o", "ctrl+d"], "command": "destroy_pane", "args": {"direction": "self"} }, | |
| { "keys": ["ctrl+o", "d", "k"], "command": "destroy_pane", "args": {"direction": "up"} }, | |
| { "keys": ["ctrl+o", "d", "l"], "command": "destroy_pane", "args": {"direction": "right"} }, | |
| { "keys": ["ctrl+o", "d", "j"], "command": "destroy_pane", "args": {"direction": "down"} }, | |
| { "keys": ["ctrl+o", "d", "h"], "command": "destroy_pane", "args": {"direction": "left"} }, | |
| { "keys": ["ctrl+o", "ctrl+z"], "command": "zoom_pane", "args": {"fraction": 0.9} }, | |
| { "keys": ["ctrl+o", "ctrl+shift+z"], "command": "unzoom_pane", "args": {} } | |
| ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment