kernelp4nic
8/10/2015 - 12:57 PM

Default (OSX).sublime-keymap

[
    // Move tabs
    //
    // {"position": "-1"}, {"position": "+1"}
    {"keys": ["alt+1"], "command": "move_tab", "args": {"position": "0"}},
    {"keys": ["alt+2"], "command": "move_tab", "args": {"position": "1"}},
    {"keys": ["alt+3"], "command": "move_tab", "args": {"position": "2"}},
    {"keys": ["alt+4"], "command": "move_tab", "args": {"position": "3"}},
    {"keys": ["alt+5"], "command": "move_tab", "args": {"position": "4"}},
    {"keys": ["alt+6"], "command": "move_tab", "args": {"position": "5"}},
    {"keys": ["alt+7"], "command": "move_tab", "args": {"position": "6"}},
    {"keys": ["alt+8"], "command": "move_tab", "args": {"position": "7"}},
    {"keys": ["alt+9"], "command": "move_tab", "args": {"position": "9"}},


    //  Git DIFF
    //
    { "keys": ["super+alt+d"], "command": "git_diff"},
    { "keys": ["super+alt+ctrl+d"], "command": "git_diff_all"},
    {"keys": ["enter"], "command": "git_goto_diff",
    "context": [{"key": "selector", "operand": "markup.inserted.diff"}]},
    {"keys": ["enter"], "command": "git_goto_diff",
    "context": [{"key": "selector", "operand": "markup.deleted.diff"}]},
    {"keys": ["super+enter"], "command": "git_goto_diff",
    "context": [{"key": "selector", "operand": "markup.inserted.diff"}]},
    {"keys": ["super+enter"], "command": "git_goto_diff",
    "context": [{"key": "selector", "operand": "markup.deleted.diff"}]},

    // Find under expand
    { "keys": ["super+e"], "command": "find_under" },
    { "keys": ["shift+super+e"], "command": "find_under_prev" },

    // Jump
    { "keys": ["ctrl+b+b"], "command": "jump_back" },
    { "keys": ["super+alt+,"], "command": "jump_back" },
    { "keys": ["super+alt+."], "command": "jump_forward" },

    // Sidebar
    { "keys": ["super+alt+b"], "command": "toggle_side_bar" },

    { "keys": ["super+k", "super+r"], "command": "reveal_in_side_bar"},

    { "keys": ["super+k"], "command": "toggle_tab_lock" },

     // Open console
    { "keys": ["ctrl+'"], "command": "show_panel", "args": {"panel": "console", "toggle": true} },

    { "keys": ["super+ctrl+alt+f"], "command": "toggle_distraction_free" },

    { "keys": ["super+w"], "command": "close" },

    // lisp indent
    {"keys": ["super+i"], "command": "lispindent"},
    {"keys": ["super+shift+e"], "command": "lispindent"},

     // git gutter
    { "keys": ["ctrl+down"], "command": "git_gutter_next_change" },
    { "keys": ["ctrl+up"], "command": "git_gutter_prev_change" },

    // Indent
    { "keys": ["super+alt+]"], "command": "indent" },
    { "keys": ["super+alt+["], "command": "unindent" },

    // Swap lines
    { "keys": ["ctrl+shift+down"], "command": "swap_line_down" },
    { "keys": ["ctrl+shift+up"], "command": "swap_line_up" },

    { "keys": ["super+alt+up"], "command": "focus_neighboring_group", "args": {"forward": false} },
    { "keys": ["super+alt+down"], "command": "focus_neighboring_group" },

    // Clojure Dev
    //

    // SublimeREPL bindings:
    // =====================

    { "keys": ["ctrl+l"], "command": "repl_clear"},
    { "keys": ["super+shift+l"], "command": "repl_clear"},
    { "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "selection"}},
    { "keys": ["ctrl+shift+enter"], "command": "repl_transfer_current", "args": {"scope": "block"}},
    { "keys": ["alt+super+i"], "command": "switch_to_current_namespace_in_repl"},
    { "keys": ["super+shift+x"], "command": "run_clojure_tests_from_current_namespace_in_repl"},
    { "keys": ["alt+super+r"], "command": "reload_server"},


    // BracketHighlighter bindings:
    // ===========================

    // Swap bracket type
    { "keys": ["super+shift+]"],
    "command": "swap_brackets"},

    // Select text between brackets
    { "keys": ["super+alt+/"],
    "command": "bh_key", "args": {"lines" : true, "plugin": {"type": ["__all__"], "command": "bh_modules.bracketselect"} } },

    { "keys": ["super+alt+-"],
    "command": "bh_key", "args": {"lines" : true, "plugin": {"type": ["__all__"], "command": "bh_modules.bracketselect"} } },

    // Select tag name of HTML/XML tag (both opening name and closing)
    { "keys": ["super+alt+j"],
    "command": "bh_key", "args": {"plugin": {"type": ["cfml", "html", "angle"], "command": "bh_modules.tagnameselect"} } },

    // Toggle high visibility mode
    // { "keys": ["super+h"], "command": "bh_toggle_high_visibility"},

    // Go to left bracket
    {
        "keys": ["ctrl+left"],
        "command": "bh_key",
        "args":
        {
            "no_outside_adj": true,
            "lines" : true,
            "plugin":
            {
                "type": ["__all__"],
                "command": "bh_modules.bracketselect",
                "args": {"select": "left"}
            }
        }
    },
    // Go to right bracket
    {
        "keys": ["ctrl+right"],
        "command": "bh_key",
        "args":
        {
            "no_outside_adj": true,
            "lines" : true,
            "plugin":
            {
                "type": ["__all__"],
                "command": "bh_modules.bracketselect",
                "args": {"select": "right"}
            }
        }
    },

    {
    "keys": ["super+alt+w"],
    "command": "close_other_tabs"
    },


    // sublime-paredit fixes:
    // ======================

    // Don't constrain close-parens unless we're in paredit mode:
    { "keys": [")"], "command": "insert_snippet", "args": {"contents": ")"}, "context":
    [{ "key": "setting.paredit_enabled", "operator": "equal", "operand": false }]},
    { "keys": [")"], "command": "run_macro_file", "args": {"file": "Packages/sublime-paredit/Paredit Closing Bracket.sublime-macro_"}, "context":
    [{ "key": "setting.paredit_enabled", "operator": "equal", "operand": true }]},
    { "keys": [")"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
    [
      { "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": ["super+shift+k"],
      "command": "paredit_kill_expression",
      "context": [{"key": "should_paredit"}]
     },

    // multiple finds
    { "keys": ["super+alt+l"],
        "command": "run_multiple_commands",
        "args": {
          "commands": [
            {"command": "find_under_expand", "context": "window"},
            {"command": "slurp_find_string", "context": "window"},
            {"command": "show_panel", "args": {"panel": "find"}, "context": "window"}
          ]
        }
    },

    // layout 2 rows for repl
    {
        "keys": ["super+alt+h"],
        "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]]
        }
    },

    // Toggle Comments
    {
         "keys": ["super+alt+k"],
         "command": "toggle_comment",
         "args": {
              "block": false
         }
    },
    // Duplicate line
    {
         "keys": ["super+shift+d"],
         "command": "duplicate_line"
    },
    // Delete line
    {
         "keys": ["super+d"],
         "command": "run_macro_file",
         "args": {
              "file": "Packages/Default/Delete Line.sublime-macro"
         }
    },

    // Find under expand cursor
    {
        "keys": ["super+."],
        "command": "find_under_expand"
    },

    // Skip find under expand
    { "keys": ["super+shift+i"],
         "command": "find_under_expand_skip"
    },
    // Go to line
    {
         "keys": ["super+l"],
         "command": "show_overlay",
         "args": {
              "overlay": "goto",
              "text": ":"
         }
    },

    // select line under cursor for multiple selection
    { "keys": ["ctrl+alt+up"], "command": "select_lines", "args": {"forward": false} },
    { "keys": ["ctrl+alt+down"], "command": "select_lines", "args": {"forward": true} },

    // swap lines
    { "keys": ["ctrl+shift+up"], "command": "swap_line_up" },
    { "keys": ["ctrl+shift+down"], "command": "swap_line_down" },

    // Expand selection to
    {
         "keys": ["super+-"],
         "command": "expand_selection",
         "args": {
              "to": "scope"
         }
    },
    {
         "keys": ["super+/"],
         "command": "expand_selection",
         "args": {
              "to": "scope"
         }
    },

    // paste
    { "keys": ["super+shift+v"], "command": "paste" },
    { "keys": ["super+v"], "command": "paste_and_indent" },

    // code folding
    { "keys": ["super+ctrl+k"], "command": "fold" },
    { "keys": ["super+ctrl+l"], "command": "unfold" },
    { "keys": ["super+ctrl+1"], "command": "fold_by_level", "args": {"level": 1} },
    { "keys": ["super+ctrl+2"], "command": "fold_by_level", "args": {"level": 2} },
    { "keys": ["super+ctrl+3"], "command": "fold_by_level", "args": {"level": 3} },
    { "keys": ["super+ctrl+4"], "command": "fold_by_level", "args": {"level": 4} },
    { "keys": ["super+ctrl+5"], "command": "fold_by_level", "args": {"level": 5} },
    { "keys": ["super+ctrl+6"], "command": "fold_by_level", "args": {"level": 6} },
    { "keys": ["super+ctrl+7"], "command": "fold_by_level", "args": {"level": 7} },
    { "keys": ["super+ctrl+8"], "command": "fold_by_level", "args": {"level": 8} },
    { "keys": ["super+ctrl+0"], "command": "unfold_all" },
    // { "keys": ["super+k", "super+t"], "command": "fold_tag_attributes" },
    //

    // CTAGS
    //
    {
      "command": "navigate_to_definition",
      "keys": ["ctrl+t", "ctrl+t"]
    },
    {
      "command": "navigate_to_definition",
      "keys": ["ctrl+shift+period"]
    },
    {
      "command": "search_for_definition",
      "keys": ["ctrl+t", "ctrl+y"]
    },
    {
      "command": "jump_prev",
      "keys": ["ctrl+t", "ctrl+b"]
    },
    {
      "command": "jump_prev",
      "keys": ["ctrl+shift+comma"]
    },
    {
      "command": "rebuild_tags",
      "keys": ["ctrl+t", "ctrl+r"]
    },
    {
      "command": "show_symbols",
      "args": {"type": "multi"},
      "context": [
        {
          "key": "selector",
          "match_all": true,
          "operand": "source -source.css",
          "operator": "equal"
        }
      ],
      "keys": ["super+shift+r"]
    },
    {
      "command": "show_symbols",
      "args": {"type": "lang"},
      "context": [
        {
          "key": "selector",
          "match_all": true,
          "operand": "source -source.css",
          "operator": "equal"
        }
      ],
      "keys": ["ctrl+alt+shift+s"]
    },
    { // override current default
      "command": "transpose",
      "context": [
        { "key": "num_selections", "operator": "not_equal", "operand": 1 }
      ],
      "keys": ["ctrl+t"]
    },

    // html tidy plugin
    { "keys": ["ctrl+shift+r"], "command": "html_tidy" },

    // trailing whitespaces plugin
    {
         "keys": ["super+alt+ctrl+t"],
         "command": "delete_trailing_spaces"
    },

    // Override single-quote autoparing
    { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0"}},

    { "keys": ["shift+command+m"], "command": "goto_definition"},

    // panel layout
    {
         "keys": ["super+shift+1"],
         "command": "set_layout",
         "args": {
              "cols": [0.0, 1.0],
              "rows": [0.0, 1.0],
              "cells": [
                   [0, 0, 1, 1]
              ]
         }
    }, {
         "keys": ["super+shift+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": ["super+shift+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": ["super+shift+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]]
      }
    }
]