Last active
December 10, 2016 09:19
-
-
Save rogerhub/398f9a2466e948df9f06a1066a10f530 to your computer and use it in GitHub Desktop.
This file contains 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
# Your keymap | |
# | |
# Atom keymaps work similarly to style sheets. Just as style sheets use | |
# selectors to apply styles to elements, Atom keymaps use selectors to associate | |
# keystrokes with events in specific contexts. Unlike style sheets however, | |
# each selector can only be declared once. | |
# | |
# You can create a new keybinding in this file by typing "key" and then hitting | |
# tab. | |
# | |
# Here's an example taken from Atom's built-in keymap: | |
# | |
# 'atom-text-editor': | |
# 'enter': 'editor:newline' | |
# | |
# 'atom-workspace': | |
# 'ctrl-shift-p': 'core:move-up' | |
# 'ctrl-p': 'core:move-down' | |
# | |
# You can find more information about keymaps in these guides: | |
# * http://flight-manual.atom.io/using-atom/sections/basic-customization/#_customizing_keybindings | |
# * http://flight-manual.atom.io/behind-atom/sections/keymaps-in-depth/ | |
# | |
# If you're having trouble with your keybindings not working, try the | |
# Keybinding Resolver: `Cmd+.` on OS X and `Ctrl+.` on other platforms. See the | |
# Debugging Guide for more information: | |
# * http://flight-manual.atom.io/hacking-atom/sections/debugging/#check-the-keybindings | |
# | |
# This file uses CoffeeScript Object Notation (CSON). | |
# If you are unfamiliar with CSON, you can read more about it in the | |
# Atom Flight Manual: | |
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#_cson | |
# workspace | |
# ------------------------- | |
# To maximize none-editor paneItem e.g. setting-view | |
# 'atom-workspace:not(.editor)': | |
# conflicts insert-mode ctrl-w and ctr-w in mini editor, so comment out by default | |
# 'ctrl-w z': 'vim-mode-plus:maximize-pane' | |
# 'cmd-enter': 'vim-mode-plus:maximize-pane' | |
# all | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus': | |
'escape': 'vim-mode-plus:reset-normal-mode' | |
# 'ctrl-c': 'vim-mode-plus:reset-normal-mode' | |
# 'ctrl-[': 'vim-mode-plus:reset-normal-mode' | |
# all except normal | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus:not(.normal-mode)': | |
'escape': 'vim-mode-plus:activate-normal-mode' | |
# 'ctrl-[': 'vim-mode-plus:activate-normal-mode' | |
# all except normal | |
# ------------------------- | |
'.platform-darwin atom-text-editor.vim-mode-plus:not(.normal-mode)': | |
'ctrl-c': 'vim-mode-plus:activate-normal-mode' | |
# insert | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.insert-mode': | |
'ctrl-w': 'editor:delete-to-beginning-of-word' | |
'ctrl-u': 'editor:delete-to-beginning-of-line' | |
'ctrl-y': 'vim-mode-plus:copy-from-line-above' | |
# disabled for compatibility with the common binding for going to the end of the line | |
'ctrl-e': 'vim-mode-plus:copy-from-line-below' | |
'ctrl-a': 'vim-mode-plus:insert-last-inserted' | |
# 'ctrl-r': 'vim-mode-plus:insert-register' | |
'ctrl-o': 'vim-mode-plus:activate-normal-mode-once' | |
# Insert-replace | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.insert-mode.replace': | |
# 'ctrl-h': 'vim-mode-plus:replace-mode-backspace' | |
'backspace': 'vim-mode-plus:replace-mode-backspace' | |
# except insert | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus:not(.insert-mode)': | |
# Motions | |
# ------------------------- | |
'h': 'vim-mode-plus:move-left' | |
'left': 'vim-mode-plus:move-left' | |
'backspace': 'core:move-left' | |
'l': 'vim-mode-plus:move-right' | |
'space': 'vim-mode-plus:move-right' | |
'right': 'vim-mode-plus:move-right' | |
'k': 'vim-mode-plus:move-up' | |
'up': 'vim-mode-plus:move-up' | |
'j': 'vim-mode-plus:move-down' | |
'down': 'vim-mode-plus:move-down' | |
'g k': 'vim-mode-plus:move-up-screen' | |
'g j': 'vim-mode-plus:move-down-screen' | |
'w': 'vim-mode-plus:move-to-next-word' | |
# 'w': 'vim-mode-plus:move-to-next-alphanumeric-word' | |
'W': 'vim-mode-plus:move-to-next-whole-word' | |
'e': 'vim-mode-plus:move-to-end-of-word' | |
# 'e': 'vim-mode-plus:move-to-end-of-alphanumeric-word' | |
'g e': 'vim-mode-plus:move-to-previous-end-of-word' | |
'E': 'vim-mode-plus:move-to-end-of-whole-word' | |
'g E': 'vim-mode-plus:move-to-previous-end-of-whole-word' | |
'b': 'vim-mode-plus:move-to-previous-word' | |
# 'b': 'vim-mode-plus:move-to-previous-alphanumeric-word' | |
'B': 'vim-mode-plus:move-to-previous-whole-word' | |
')': 'vim-mode-plus:move-to-next-sentence' | |
'(': 'vim-mode-plus:move-to-previous-sentence' | |
# ')': 'vim-mode-plus:move-to-next-sentence-skip-blank-row' | |
# '(': 'vim-mode-plus:move-to-previous-sentence-skip-blank-row' | |
'}': 'vim-mode-plus:move-to-next-paragraph' | |
'{': 'vim-mode-plus:move-to-previous-paragraph' | |
'0': 'vim-mode-plus:move-to-beginning-of-line' | |
'|': 'vim-mode-plus:move-to-column' | |
'home': 'vim-mode-plus:move-to-beginning-of-line' | |
'^': 'vim-mode-plus:move-to-first-character-of-line' | |
'_': 'vim-mode-plus:move-to-first-character-of-line-and-down' | |
'$': 'vim-mode-plus:move-to-last-character-of-line' | |
'end': 'vim-mode-plus:move-to-last-character-of-line' | |
# 'g _': 'vim-mode-plus:move-to-last-nonblank-character-of-line-and-down' | |
'-': 'vim-mode-plus:move-to-first-character-of-line-up' | |
'+': 'vim-mode-plus:move-to-first-character-of-line-down' | |
'enter': 'vim-mode-plus:move-to-first-character-of-line-down' | |
# scroll | |
'ctrl-u': 'vim-mode-plus:scroll-half-screen-up' | |
# 'ctrl-b': 'vim-mode-plus:scroll-full-screen-up' | |
'ctrl-d': 'vim-mode-plus:scroll-half-screen-down' | |
# 'ctrl-f': 'vim-mode-plus:scroll-full-screen-down' | |
# 'ctrl-e': 'vim-mode-plus:scroll-down' | |
# 'ctrl-y': 'vim-mode-plus:scroll-up' | |
'G': 'vim-mode-plus:move-to-last-line' | |
'g g': 'vim-mode-plus:move-to-first-line' | |
'H': 'vim-mode-plus:move-to-top-of-screen' | |
'L': 'vim-mode-plus:move-to-bottom-of-screen' | |
'M': 'vim-mode-plus:move-to-middle-of-screen' | |
# Operator | |
# ------------------------- | |
'd': 'vim-mode-plus:delete' | |
'c': 'vim-mode-plus:change' | |
's': 'vim-mode-plus:substitute' | |
'x': 'vim-mode-plus:delete-right' # to avoid `d x` is treated as `d d` | |
'D': 'vim-mode-plus:delete-line' | |
'C': 'vim-mode-plus:change-to-last-character-of-line' | |
'S': 'vim-mode-plus:substitute-line' | |
'r': 'vim-mode-plus:replace' | |
'g o': 'vim-mode-plus:toggle-preset-occurrence' | |
'g .': 'vim-mode-plus:add-preset-occurrence-from-last-occurrence-pattern' | |
# '_': 'vim-mode-plus:replace-with-register' | |
'g I': 'vim-mode-plus:insert-at-beginning-of-line' | |
'>': 'vim-mode-plus:indent' | |
'<': 'vim-mode-plus:outdent' | |
'=': 'vim-mode-plus:auto-indent' | |
# 'J': 'vim-mode-plus:join' | |
'g J': 'vim-mode-plus:join-with-keeping-space' | |
'y': 'vim-mode-plus:yank' | |
'Y': 'vim-mode-plus:yank-line' | |
'P': 'vim-mode-plus:put-before' | |
'p': 'vim-mode-plus:put-after' | |
'g P': 'vim-mode-plus:put-before-and-select' | |
'g p': 'vim-mode-plus:put-after-and-select' | |
# String transformation | |
'~': 'vim-mode-plus:toggle-case-and-move-right' | |
'g ~': 'vim-mode-plus:toggle-case' | |
'g U': 'vim-mode-plus:upper-case' | |
'g u': 'vim-mode-plus:lower-case' | |
'g c': 'vim-mode-plus:camel-case' | |
'g C': 'vim-mode-plus:pascal-case' | |
'g /': 'vim-mode-plus:toggle-line-comments' | |
'g -': 'vim-mode-plus:dash-case' | |
'g space': 'vim-mode-plus:compact-spaces' | |
'g |': 'vim-mode-plus:trim-string' | |
'g cmd-d': 'vim-mode-plus:select-occurrence' | |
'g _': 'vim-mode-plus:snake-case' | |
'g r': 'vim-mode-plus:reverse' | |
'g s': 'vim-mode-plus:sort' | |
# 'ctrl-s': 'vim-mode-plus:transform-string-by-select-list' | |
# 'g tab': 'vim-mode-plus:convert-to-soft-tab' | |
# 'g shift-tab': 'vim-mode-plus:convert-to-hard-tab' | |
# 'enter': 'vim-mode-plus:toggle-persistent-selection' | |
'ctrl-a': 'vim-mode-plus:increase' | |
'ctrl-x': 'vim-mode-plus:decrease' | |
# 'g ctrl-a': 'vim-mode-plus:increment-number' # experimental | |
# 'g ctrl-x': 'vim-mode-plus:decrement-number' # experimental | |
'ctrl-h': 'window:focus-pane-on-left' | |
'ctrl-l': 'window:focus-pane-on-right' | |
# 'ctrl-w ctrl-h': 'window:focus-pane-on-left' | |
# 'ctrl-w h': 'window:focus-pane-on-left' | |
# 'ctrl-w left': 'window:focus-pane-on-left' | |
# 'ctrl-w ctrl-l': 'window:focus-pane-on-right' | |
# 'ctrl-w l': 'window:focus-pane-on-right' | |
# 'ctrl-w right': 'window:focus-pane-on-right' | |
# 'ctrl-w ctrl-k': 'window:focus-pane-above' | |
# 'ctrl-w k': 'window:focus-pane-above' | |
# 'ctrl-w up': 'window:focus-pane-above' | |
# 'ctrl-w ctrl-j': 'window:focus-pane-below' | |
# 'ctrl-w j': 'window:focus-pane-below' | |
# 'ctrl-w down': 'window:focus-pane-below' | |
# 'ctrl-w ctrl-w': 'window:focus-next-pane' | |
# 'ctrl-w w': 'window:focus-next-pane' | |
# 'ctrl-w ctrl-p': 'window:focus-previous-pane' | |
# 'ctrl-w p': 'window:focus-previous-pane' | |
# From v1.6.0 | |
# 'ctrl-w ctrl-v': 'pane:split-right-and-copy-active-item' | |
# 'ctrl-w v': 'pane:split-right-and-copy-active-item' | |
# 'ctrl-w ctrl-s': 'pane:split-down-and-copy-active-item' | |
# 'ctrl-w s': 'pane:split-down-and-copy-active-item' | |
# 'ctrl-w z': 'vim-mode-plus:maximize-pane' | |
# 'cmd-enter': 'vim-mode-plus:maximize-pane' | |
# 'ctrl-w =': 'vim-mode-plus:equalize-panes' | |
# 'ctrl-w ctrl-c': 'pane:close' | |
# 'ctrl-w c': 'pane:close' | |
# 'ctrl-w ctrl-q': 'core:close' | |
# 'ctrl-w q': 'core:close' | |
'g t': 'pane:show-next-item' | |
'g T': 'pane:show-previous-item' | |
'f': 'vim-mode-plus:find' | |
'F': 'vim-mode-plus:find-backwards' | |
't': 'vim-mode-plus:till' | |
'T': 'vim-mode-plus:till-backwards' | |
';': 'vim-mode-plus:repeat-find' | |
',': 'vim-mode-plus:repeat-find-reverse' | |
'/': 'vim-mode-plus:search' | |
'?': 'vim-mode-plus:search-backwards' | |
'*': 'vim-mode-plus:search-current-word' | |
'#': 'vim-mode-plus:search-current-word-backwards' | |
'n': 'vim-mode-plus:repeat-search' | |
'N': 'vim-mode-plus:repeat-search-reverse' | |
'g n': 'vim-mode-plus:search-match-forward' | |
'g N': 'vim-mode-plus:search-match-backward' | |
'%': 'vim-mode-plus:move-to-pair' | |
'1': 'vim-mode-plus:set-count-1' | |
'2': 'vim-mode-plus:set-count-2' | |
'3': 'vim-mode-plus:set-count-3' | |
'4': 'vim-mode-plus:set-count-4' | |
'5': 'vim-mode-plus:set-count-5' | |
'6': 'vim-mode-plus:set-count-6' | |
'7': 'vim-mode-plus:set-count-7' | |
'8': 'vim-mode-plus:set-count-8' | |
'9': 'vim-mode-plus:set-count-9' | |
# 'm': 'vim-mode-plus:mark' | |
# '`': 'vim-mode-plus:move-to-mark' | |
# "'": 'vim-mode-plus:move-to-mark-line' | |
'[': 'vim-mode-plus:move-up-to-edge' | |
']': 'vim-mode-plus:move-down-to-edge' | |
# '[ [': 'vim-mode-plus:move-to-previous-fold-start' | |
# '] [': 'vim-mode-plus:move-to-next-fold-start' | |
# '[ ]': 'vim-mode-plus:move-to-previous-fold-end' | |
# '] ]': 'vim-mode-plus:move-to-next-fold-end' | |
# '(': 'vim-mode-plus:move-to-previous-fold-start-with-same-indent' | |
# ')': 'vim-mode-plus:move-to-next-fold-start-with-same-indent' | |
# 'g s': 'vim-mode-plus:move-to-next-string' | |
# 'g S': 'vim-mode-plus:move-to-previous-string' | |
# 'g n': 'vim-mode-plus:move-to-next-number' | |
# 'g N': 'vim-mode-plus:move-to-previous-number' | |
'atom-text-editor.vim-mode-plus:not(.insert-mode):not(.operator-pending-mode)': | |
# 'z enter': 'vim-mode-plus:scroll-cursor-to-top' | |
# 'z t': 'vim-mode-plus:scroll-cursor-to-top-leave' | |
# 'z .': 'vim-mode-plus:scroll-cursor-to-middle' | |
'z z': 'vim-mode-plus:scroll-cursor-to-middle-leave' | |
# 'z -': 'vim-mode-plus:scroll-cursor-to-bottom' | |
# 'z b': 'vim-mode-plus:scroll-cursor-to-bottom-leave' | |
# 'z s': 'vim-mode-plus:scroll-cursor-to-left' | |
# 'z e': 'vim-mode-plus:scroll-cursor-to-right' | |
# | |
# 'z M': 'editor:fold-all' | |
# 'z R': 'editor:unfold-all' | |
# 'z c': 'editor:fold-current-row' | |
# 'z o': 'editor:unfold-current-row' | |
# 'z a': 'vim-mode-plus:toggle-fold' | |
'atom-text-editor.vim-mode-plus-input-char-waiting': | |
'enter': 'core:confirm' | |
'escape': 'core:cancel' | |
'space': 'vim-mode-plus:set-input-char-space' | |
'!': 'vim-mode-plus:set-input-char-!' | |
'"': 'vim-mode-plus:set-input-char-"' | |
'#': 'vim-mode-plus:set-input-char-#' | |
'$': 'vim-mode-plus:set-input-char-$' | |
'%': 'vim-mode-plus:set-input-char-%' | |
'&': 'vim-mode-plus:set-input-char-&' | |
'\'': 'vim-mode-plus:set-input-char-\'' | |
'(': 'vim-mode-plus:set-input-char-(' | |
')': 'vim-mode-plus:set-input-char-)' | |
'*': 'vim-mode-plus:set-input-char-*' | |
'+': 'vim-mode-plus:set-input-char-+' | |
',': 'vim-mode-plus:set-input-char-,' | |
'-': 'vim-mode-plus:set-input-char--' | |
'.': 'vim-mode-plus:set-input-char-.' | |
'/': 'vim-mode-plus:set-input-char-/' | |
'0': 'vim-mode-plus:set-input-char-0' | |
'1': 'vim-mode-plus:set-input-char-1' | |
'2': 'vim-mode-plus:set-input-char-2' | |
'3': 'vim-mode-plus:set-input-char-3' | |
'4': 'vim-mode-plus:set-input-char-4' | |
'5': 'vim-mode-plus:set-input-char-5' | |
'6': 'vim-mode-plus:set-input-char-6' | |
'7': 'vim-mode-plus:set-input-char-7' | |
'8': 'vim-mode-plus:set-input-char-8' | |
'9': 'vim-mode-plus:set-input-char-9' | |
':': 'vim-mode-plus:set-input-char-:' | |
';': 'vim-mode-plus:set-input-char-;' | |
'<': 'vim-mode-plus:set-input-char-<' | |
'=': 'vim-mode-plus:set-input-char-=' | |
'>': 'vim-mode-plus:set-input-char->' | |
'?': 'vim-mode-plus:set-input-char-?' | |
'@': 'vim-mode-plus:set-input-char-@' | |
'A': 'vim-mode-plus:set-input-char-A' | |
'B': 'vim-mode-plus:set-input-char-B' | |
'C': 'vim-mode-plus:set-input-char-C' | |
'D': 'vim-mode-plus:set-input-char-D' | |
'E': 'vim-mode-plus:set-input-char-E' | |
'F': 'vim-mode-plus:set-input-char-F' | |
'G': 'vim-mode-plus:set-input-char-G' | |
'H': 'vim-mode-plus:set-input-char-H' | |
'I': 'vim-mode-plus:set-input-char-I' | |
'J': 'vim-mode-plus:set-input-char-J' | |
'K': 'vim-mode-plus:set-input-char-K' | |
'L': 'vim-mode-plus:set-input-char-L' | |
'M': 'vim-mode-plus:set-input-char-M' | |
'N': 'vim-mode-plus:set-input-char-N' | |
'O': 'vim-mode-plus:set-input-char-O' | |
'P': 'vim-mode-plus:set-input-char-P' | |
'Q': 'vim-mode-plus:set-input-char-Q' | |
'R': 'vim-mode-plus:set-input-char-R' | |
'S': 'vim-mode-plus:set-input-char-S' | |
'T': 'vim-mode-plus:set-input-char-T' | |
'U': 'vim-mode-plus:set-input-char-U' | |
'V': 'vim-mode-plus:set-input-char-V' | |
'W': 'vim-mode-plus:set-input-char-W' | |
'X': 'vim-mode-plus:set-input-char-X' | |
'Y': 'vim-mode-plus:set-input-char-Y' | |
'Z': 'vim-mode-plus:set-input-char-Z' | |
'[': 'vim-mode-plus:set-input-char-[' | |
'\\': 'vim-mode-plus:set-input-char-\\' | |
']': 'vim-mode-plus:set-input-char-]' | |
'^': 'vim-mode-plus:set-input-char-^' | |
'_': 'vim-mode-plus:set-input-char-_' | |
'`': 'vim-mode-plus:set-input-char-`' | |
'a': 'vim-mode-plus:set-input-char-a' | |
'b': 'vim-mode-plus:set-input-char-b' | |
'c': 'vim-mode-plus:set-input-char-c' | |
'd': 'vim-mode-plus:set-input-char-d' | |
'e': 'vim-mode-plus:set-input-char-e' | |
'f': 'vim-mode-plus:set-input-char-f' | |
'g': 'vim-mode-plus:set-input-char-g' | |
'h': 'vim-mode-plus:set-input-char-h' | |
'i': 'vim-mode-plus:set-input-char-i' | |
'j': 'vim-mode-plus:set-input-char-j' | |
'k': 'vim-mode-plus:set-input-char-k' | |
'l': 'vim-mode-plus:set-input-char-l' | |
'm': 'vim-mode-plus:set-input-char-m' | |
'n': 'vim-mode-plus:set-input-char-n' | |
'o': 'vim-mode-plus:set-input-char-o' | |
'p': 'vim-mode-plus:set-input-char-p' | |
'q': 'vim-mode-plus:set-input-char-q' | |
'r': 'vim-mode-plus:set-input-char-r' | |
's': 'vim-mode-plus:set-input-char-s' | |
't': 'vim-mode-plus:set-input-char-t' | |
'u': 'vim-mode-plus:set-input-char-u' | |
'v': 'vim-mode-plus:set-input-char-v' | |
'w': 'vim-mode-plus:set-input-char-w' | |
'x': 'vim-mode-plus:set-input-char-x' | |
'y': 'vim-mode-plus:set-input-char-y' | |
'z': 'vim-mode-plus:set-input-char-z' | |
'{': 'vim-mode-plus:set-input-char-{' | |
'|': 'vim-mode-plus:set-input-char-|' | |
'}': 'vim-mode-plus:set-input-char-}' | |
'~': 'vim-mode-plus:set-input-char-~' | |
'atom-text-editor.vim-mode-plus.with-count:not(.insert-mode)': | |
'0': 'vim-mode-plus:set-count-0' | |
'%': 'vim-mode-plus:move-to-line-by-percent' | |
'atom-text-editor.vim-mode-plus.has-persistent-selection:not(.insert-mode)': | |
'ctrl-cmd-g': 'vim-mode-plus:select-persistent-selection' | |
'atom-text-editor.vim-mode-plus.visual-mode.is-narrowed': | |
'cmd-d': 'vim-mode-plus:select-occurrence' | |
'ctrl-cmd-c': 'vim-mode-plus:change-occurrence' | |
'.platform-darwin atom-text-editor.vim-mode-plus-search': | |
'ctrl-cmd-c': 'vim-mode-plus:change-occurrence-from-search' | |
'cmd-d': 'vim-mode-plus:select-occurrence-from-search' | |
'cmd-o': 'vim-mode-plus:add-occurrence-pattern-from-search' | |
'cmd-enter': 'vim-mode-plus:project-find-from-search' | |
# normal | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.normal-mode': | |
'i': 'vim-mode-plus:activate-insert-mode' | |
'a': 'vim-mode-plus:insert-after' | |
'I': 'vim-mode-plus:insert-at-first-character-of-line' | |
'A': 'vim-mode-plus:insert-after-end-of-line' | |
'g i': 'vim-mode-plus:insert-at-last-insert' | |
'D': 'vim-mode-plus:delete-to-last-character-of-line' | |
'R': 'vim-mode-plus:activate-replace-mode' | |
'v': 'vim-mode-plus:activate-characterwise-visual-mode' | |
'V': 'vim-mode-plus:activate-linewise-visual-mode' | |
'ctrl-v': 'vim-mode-plus:activate-blockwise-visual-mode' | |
'g v': 'vim-mode-plus:select-previous-selection' | |
# 'g c': 'vim-mode-plus:select-latest-change' | |
# 'u': 'vim-mode-plus:undo' | |
# 'ctrl-r': 'vim-mode-plus:redo' | |
'O': 'vim-mode-plus:insert-above-with-newline' | |
'o': 'vim-mode-plus:insert-below-with-newline' | |
'x': 'vim-mode-plus:delete-right' | |
'X': 'vim-mode-plus:delete-left' | |
's': 'vim-mode-plus:substitute' | |
'.': 'vim-mode-plus:repeat' | |
# 'ctrl-]': 'symbols-view:go-to-declaration' | |
# 'ctrl-t': 'symbols-view:return-from-declaration' | |
'"': 'vim-mode-plus:set-register-name' | |
# 'y s': 'vim-mode-plus:surround' | |
# 'y s w': 'vim-mode-plus:surround-word' | |
# 'd s': 'vim-mode-plus:delete-surround' | |
# 'd s': 'vim-mode-plus:delete-surround-any-pair' | |
# 'd s': 'vim-mode-plus:delete-surround-any-pair-allow-forwarding' | |
# 'y s c': 'vim-mode-plus:change-surround' | |
# 'y s c': 'vim-mode-plus:change-surround-any-pair' | |
# 'y s c': 'vim-mode-plus:change-surround-any-pair-allow-forwarding' | |
# 'y m s': 'vim-mode-plus:map-surround' | |
# operator-pending | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.operator-pending-mode': | |
'v': 'vim-mode-plus:operator-modifier-characterwise' | |
'V': 'vim-mode-plus:operator-modifier-linewise' | |
'o': 'vim-mode-plus:operator-modifier-occurrence' | |
# operator-pending.has-occurrence [Experimental] | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.operator-pending-mode.has-occurrence': | |
'p': 'vim-mode-plus:inner-paragraph' | |
'r': 'vim-mode-plus:a-persistent-selection' | |
'v': 'vim-mode-plus:inner-visible-area' | |
'f': 'vim-mode-plus:a-function' | |
'l': 'vim-mode-plus:inner-current-line' | |
'z': 'vim-mode-plus:a-fold' | |
# has-occurrence (when occurrence-marker was exists) | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.has-occurrence': | |
'I': 'vim-mode-plus:insert-at-start-of-target' | |
'A': 'vim-mode-plus:insert-at-end-of-target' | |
'atom-text-editor.vim-mode-plus.has-occurrence:not(.insert-mode)': | |
'tab': 'vim-mode-plus:search-occurrence' | |
'shift-tab': 'vim-mode-plus:search-occurrence-backwards' | |
# operator-pending, visual | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.operator-pending-mode, atom-text-editor.vim-mode-plus.visual-mode': | |
'~': 'vim-mode-plus:toggle-case' | |
'U': 'vim-mode-plus:upper-case' | |
'u': 'vim-mode-plus:lower-case' | |
# Text object inner-, a- order | |
'i w': 'vim-mode-plus:inner-word' | |
'a w': 'vim-mode-plus:a-word' | |
'i W': 'vim-mode-plus:inner-whole-word' | |
'a W': 'vim-mode-plus:a-whole-word' | |
# 'i w': 'vim-mode-plus:inner-smart-word' | |
# 'a w': 'vim-mode-plus:a-smart-word' | |
# [FIXME?] overridden Vim's sentence text object | |
'i s': 'vim-mode-plus:inner-any-pair' | |
'a s': 'vim-mode-plus:a-any-pair' | |
'i "': 'vim-mode-plus:inner-double-quote' | |
'a "': 'vim-mode-plus:a-double-quote' | |
"i '": 'vim-mode-plus:inner-single-quote' | |
"a '": 'vim-mode-plus:a-single-quote' | |
"i q": 'vim-mode-plus:inner-any-quote' | |
"a q": 'vim-mode-plus:a-any-quote' | |
'i `': 'vim-mode-plus:inner-back-tick' | |
'a `': 'vim-mode-plus:a-back-tick' | |
'i {': 'vim-mode-plus:inner-curly-bracket' | |
'i }': 'vim-mode-plus:inner-curly-bracket' | |
'a {': 'vim-mode-plus:a-curly-bracket' | |
'a }': 'vim-mode-plus:a-curly-bracket' | |
'i B': 'vim-mode-plus:inner-curly-bracket' | |
'a B': 'vim-mode-plus:a-curly-bracket' | |
'i <': 'vim-mode-plus:inner-angle-bracket' | |
'i >': 'vim-mode-plus:inner-angle-bracket' | |
'a <': 'vim-mode-plus:a-angle-bracket' | |
'a >': 'vim-mode-plus:a-angle-bracket' | |
# allow-forwarding family | |
# 'i }': 'vim-mode-plus:inner-curly-bracket-allow-forwarding' | |
# 'a }': 'vim-mode-plus:a-curly-bracket-allow-forwarding' | |
# 'i >': 'vim-mode-plus:inner-angle-bracket-allow-forwarding' | |
# 'a >': 'vim-mode-plus:a-angle-bracket-allow-forwarding' | |
# 'i ]': 'vim-mode-plus:inner-square-bracket-allow-forwarding' | |
# 'a ]': 'vim-mode-plus:a-square-bracket-allow-forwarding' | |
# 'i )': 'vim-mode-plus:inner-parenthesis-allow-forwarding' | |
# 'a )': 'vim-mode-plus:a-parenthesis-allow-forwarding' | |
'i t': 'vim-mode-plus:inner-tag' | |
'a t': 'vim-mode-plus:a-tag' | |
'i [': 'vim-mode-plus:inner-square-bracket' | |
'i ]': 'vim-mode-plus:inner-square-bracket' | |
'a [': 'vim-mode-plus:a-square-bracket' | |
'a ]': 'vim-mode-plus:a-square-bracket' | |
'i (': 'vim-mode-plus:inner-parenthesis' | |
'i )': 'vim-mode-plus:inner-parenthesis' | |
'i b': 'vim-mode-plus:inner-parenthesis' | |
'a (': 'vim-mode-plus:a-parenthesis' | |
'a )': 'vim-mode-plus:a-parenthesis' | |
'a b': 'vim-mode-plus:a-parenthesis' | |
'i p': 'vim-mode-plus:inner-paragraph' | |
'a p': 'vim-mode-plus:a-paragraph' | |
'i /': 'vim-mode-plus:inner-comment' | |
'a /': 'vim-mode-plus:a-comment' | |
'i i': 'vim-mode-plus:inner-indentation' | |
'a i': 'vim-mode-plus:a-indentation' | |
'i z': 'vim-mode-plus:inner-fold' | |
'a z': 'vim-mode-plus:a-fold' | |
'i f': 'vim-mode-plus:inner-function' | |
'a f': 'vim-mode-plus:a-function' | |
'i l': 'vim-mode-plus:inner-current-line' | |
'a l': 'vim-mode-plus:a-current-line' | |
'i e': 'vim-mode-plus:inner-entire' | |
'a e': 'vim-mode-plus:a-entire' | |
# [NOTE] subject to change in future | |
'i c': 'vim-mode-plus:inner-latest-change' | |
'a c': 'vim-mode-plus:a-latest-change' | |
'g v': 'vim-mode-plus:previous-selection' | |
'i r': 'vim-mode-plus:inner-persistent-selection' | |
'a r': 'vim-mode-plus:a-persistent-selection' | |
'i v': 'vim-mode-plus:inner-visible-area' | |
'a v': 'vim-mode-plus:a-visible-area' | |
# visual | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.visual-mode': | |
'o': 'vim-mode-plus:reverse-selections' | |
'"': 'vim-mode-plus:set-register-name' | |
'v': 'vim-mode-plus:activate-characterwise-visual-mode' | |
'V': 'vim-mode-plus:activate-linewise-visual-mode' | |
'ctrl-v': 'vim-mode-plus:activate-blockwise-visual-mode' | |
'enter': 'vim-mode-plus:create-persistent-selection' | |
'atom-text-editor.vim-mode-plus.has-persistent-selection.normal-mode, | |
atom-text-editor.vim-mode-plus.visual-mode': | |
'I': 'vim-mode-plus:insert-at-start-of-target' | |
'A': 'vim-mode-plus:insert-at-end-of-target' | |
# 'p': 'vim-mode-plus:swap-with-register' | |
# 'P': 'vim-mode-plus:swap-with-register' | |
# visual-characterwise | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.visual-mode.characterwise': | |
'C': 'vim-mode-plus:change-line' | |
# visual-blockwise | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.visual-mode.blockwise': | |
'o': 'vim-mode-plus:blockwise-other-end', | |
'O': 'vim-mode-plus:reverse-selections', | |
'D': 'vim-mode-plus:delete-to-last-character-of-line' # To avoid overridden by delete-line in visual-mode | |
# Input mini editor e.g. mark, surround. | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus-input': | |
'ctrl-c': 'vim-mode-plus:input-cancel' | |
'ctrl-[': 'vim-mode-plus:input-cancel' | |
# Search mini editor | |
# ------------------------- | |
# 'atom-text-editor.vim-mode-plus-search': | |
# 'ctrl-r ctrl-w': 'vim-mode-plus:search-set-cursor-word' | |
# 'ctrl-v': 'vim-mode-plus:search-activate-literal-mode' | |
# 'ctrl-c': 'vim-mode-plus:search-cancel' | |
# 'ctrl-[': 'vim-mode-plus:search-cancel' | |
# 'shift-tab': 'vim-mode-plus:search-visit-prev' | |
# 'tab': 'vim-mode-plus:search-visit-next' | |
'atom-text-editor.vim-mode-plus-search.search-occurrence': | |
'space': 'vim-mode-plus:toggle-occurrence-from-search' | |
# If you want to map normal char to special operation. | |
# Use `not(.literal-mode)` selector like below. | |
# When you hit `ctrl-v`, it activate literal-mode. | |
# So you can input `;`, `[`, `]` as literal char, since following keymap is only | |
# effective in `literal-mode` selector is set. | |
# | |
# 'atom-text-editor.vim-mode-plus-search:not(.literal-mode)': | |
# ';': 'vim-mode-plus:search-confirm' | |
# '[': 'vim-mode-plus:search-visit-prev' | |
# ']': 'vim-mode-plus:search-visit-next' | |
# 'space': 'vim-mode-plus:search-insert-wild-pattern' | |
'.platform-linux .advanced-open-file atom-text-editor': | |
'ctrl-alt-cmd-o': 'application:add-project-folder' |
This file contains 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
# Your keymap | |
# | |
# Atom keymaps work similarly to style sheets. Just as style sheets use | |
# selectors to apply styles to elements, Atom keymaps use selectors to associate | |
# keystrokes with events in specific contexts. Unlike style sheets however, | |
# each selector can only be declared once. | |
# | |
# You can create a new keybinding in this file by typing "key" and then hitting | |
# tab. | |
# | |
# Here's an example taken from Atom's built-in keymap: | |
# | |
# 'atom-text-editor': | |
# 'enter': 'editor:newline' | |
# | |
# 'atom-workspace': | |
# 'ctrl-shift-p': 'core:move-up' | |
# 'ctrl-p': 'core:move-down' | |
# | |
# You can find more information about keymaps in these guides: | |
# * http://flight-manual.atom.io/using-atom/sections/basic-customization/#_customizing_keybindings | |
# * http://flight-manual.atom.io/behind-atom/sections/keymaps-in-depth/ | |
# | |
# If you're having trouble with your keybindings not working, try the | |
# Keybinding Resolver: `Cmd+.` on OS X and `Ctrl+.` on other platforms. See the | |
# Debugging Guide for more information: | |
# * http://flight-manual.atom.io/hacking-atom/sections/debugging/#check-the-keybindings | |
# | |
# This file uses CoffeeScript Object Notation (CSON). | |
# If you are unfamiliar with CSON, you can read more about it in the | |
# Atom Flight Manual: | |
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#_cson | |
# workspace | |
# ------------------------- | |
# To maximize none-editor paneItem e.g. setting-view | |
# 'atom-workspace:not(.editor)': | |
# conflicts insert-mode ctrl-w and ctr-w in mini editor, so comment out by default | |
# 'ctrl-w z': 'vim-mode-plus:maximize-pane' | |
# 'cmd-enter': 'vim-mode-plus:maximize-pane' | |
# all | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus': | |
'escape': 'vim-mode-plus:reset-normal-mode' | |
# 'ctrl-c': 'vim-mode-plus:reset-normal-mode' | |
# 'ctrl-[': 'vim-mode-plus:reset-normal-mode' | |
# all except normal | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus:not(.normal-mode)': | |
'escape': 'vim-mode-plus:activate-normal-mode' | |
# 'ctrl-[': 'vim-mode-plus:activate-normal-mode' | |
# all except normal | |
# ------------------------- | |
'.platform-darwin atom-text-editor.vim-mode-plus:not(.normal-mode)': | |
'ctrl-c': 'vim-mode-plus:activate-normal-mode' | |
# insert | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.insert-mode': | |
'ctrl-w': 'editor:delete-to-beginning-of-word' | |
'ctrl-u': 'editor:delete-to-beginning-of-line' | |
'ctrl-y': 'vim-mode-plus:copy-from-line-above' | |
# disabled for compatibility with the common binding for going to the end of the line | |
'ctrl-e': 'vim-mode-plus:copy-from-line-below' | |
'ctrl-a': 'vim-mode-plus:insert-last-inserted' | |
# 'ctrl-r': 'vim-mode-plus:insert-register' | |
'ctrl-o': 'vim-mode-plus:activate-normal-mode-once' | |
# Insert-replace | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.insert-mode.replace': | |
# 'ctrl-h': 'vim-mode-plus:replace-mode-backspace' | |
'backspace': 'vim-mode-plus:replace-mode-backspace' | |
# except insert | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus:not(.insert-mode)': | |
# Motions | |
# ------------------------- | |
'h': 'vim-mode-plus:move-left' | |
'left': 'vim-mode-plus:move-left' | |
'backspace': 'core:move-left' | |
'l': 'vim-mode-plus:move-right' | |
'space': 'vim-mode-plus:move-right' | |
'right': 'vim-mode-plus:move-right' | |
'k': 'vim-mode-plus:move-up' | |
'up': 'vim-mode-plus:move-up' | |
'j': 'vim-mode-plus:move-down' | |
'down': 'vim-mode-plus:move-down' | |
'g k': 'vim-mode-plus:move-up-screen' | |
'g j': 'vim-mode-plus:move-down-screen' | |
'w': 'vim-mode-plus:move-to-next-word' | |
# 'w': 'vim-mode-plus:move-to-next-alphanumeric-word' | |
'W': 'vim-mode-plus:move-to-next-whole-word' | |
'e': 'vim-mode-plus:move-to-end-of-word' | |
# 'e': 'vim-mode-plus:move-to-end-of-alphanumeric-word' | |
'g e': 'vim-mode-plus:move-to-previous-end-of-word' | |
'E': 'vim-mode-plus:move-to-end-of-whole-word' | |
'g E': 'vim-mode-plus:move-to-previous-end-of-whole-word' | |
'b': 'vim-mode-plus:move-to-previous-word' | |
# 'b': 'vim-mode-plus:move-to-previous-alphanumeric-word' | |
'B': 'vim-mode-plus:move-to-previous-whole-word' | |
')': 'vim-mode-plus:move-to-next-sentence' | |
'(': 'vim-mode-plus:move-to-previous-sentence' | |
# ')': 'vim-mode-plus:move-to-next-sentence-skip-blank-row' | |
# '(': 'vim-mode-plus:move-to-previous-sentence-skip-blank-row' | |
'}': 'vim-mode-plus:move-to-next-paragraph' | |
'{': 'vim-mode-plus:move-to-previous-paragraph' | |
'0': 'vim-mode-plus:move-to-beginning-of-line' | |
'|': 'vim-mode-plus:move-to-column' | |
'home': 'vim-mode-plus:move-to-beginning-of-line' | |
'^': 'vim-mode-plus:move-to-first-character-of-line' | |
'_': 'vim-mode-plus:move-to-first-character-of-line-and-down' | |
'$': 'vim-mode-plus:move-to-last-character-of-line' | |
'end': 'vim-mode-plus:move-to-last-character-of-line' | |
# 'g _': 'vim-mode-plus:move-to-last-nonblank-character-of-line-and-down' | |
'-': 'vim-mode-plus:move-to-first-character-of-line-up' | |
'+': 'vim-mode-plus:move-to-first-character-of-line-down' | |
'enter': 'vim-mode-plus:move-to-first-character-of-line-down' | |
# scroll | |
'ctrl-u': 'vim-mode-plus:scroll-half-screen-up' | |
# 'ctrl-b': 'vim-mode-plus:scroll-full-screen-up' | |
'ctrl-d': 'vim-mode-plus:scroll-half-screen-down' | |
# 'ctrl-f': 'vim-mode-plus:scroll-full-screen-down' | |
# 'ctrl-e': 'vim-mode-plus:scroll-down' | |
# 'ctrl-y': 'vim-mode-plus:scroll-up' | |
'G': 'vim-mode-plus:move-to-last-line' | |
'g g': 'vim-mode-plus:move-to-first-line' | |
'H': 'vim-mode-plus:move-to-top-of-screen' | |
'L': 'vim-mode-plus:move-to-bottom-of-screen' | |
'M': 'vim-mode-plus:move-to-middle-of-screen' | |
# Operator | |
# ------------------------- | |
'd': 'vim-mode-plus:delete' | |
'c': 'vim-mode-plus:change' | |
's': 'vim-mode-plus:substitute' | |
'x': 'vim-mode-plus:delete-right' # to avoid `d x` is treated as `d d` | |
'D': 'vim-mode-plus:delete-line' | |
'C': 'vim-mode-plus:change-to-last-character-of-line' | |
'S': 'vim-mode-plus:substitute-line' | |
'r': 'vim-mode-plus:replace' | |
'g o': 'vim-mode-plus:toggle-preset-occurrence' | |
'g .': 'vim-mode-plus:add-preset-occurrence-from-last-occurrence-pattern' | |
# '_': 'vim-mode-plus:replace-with-register' | |
'g I': 'vim-mode-plus:insert-at-beginning-of-line' | |
'>': 'vim-mode-plus:indent' | |
'<': 'vim-mode-plus:outdent' | |
'=': 'vim-mode-plus:auto-indent' | |
# 'J': 'vim-mode-plus:join' | |
'g J': 'vim-mode-plus:join-with-keeping-space' | |
'y': 'vim-mode-plus:yank' | |
'Y': 'vim-mode-plus:yank-line' | |
'P': 'vim-mode-plus:put-before' | |
'p': 'vim-mode-plus:put-after' | |
'g P': 'vim-mode-plus:put-before-and-select' | |
'g p': 'vim-mode-plus:put-after-and-select' | |
# String transformation | |
'~': 'vim-mode-plus:toggle-case-and-move-right' | |
'g ~': 'vim-mode-plus:toggle-case' | |
'g U': 'vim-mode-plus:upper-case' | |
'g u': 'vim-mode-plus:lower-case' | |
'g c': 'vim-mode-plus:camel-case' | |
'g C': 'vim-mode-plus:pascal-case' | |
'g /': 'vim-mode-plus:toggle-line-comments' | |
'g -': 'vim-mode-plus:dash-case' | |
'g space': 'vim-mode-plus:compact-spaces' | |
'g |': 'vim-mode-plus:trim-string' | |
'g cmd-d': 'vim-mode-plus:select-occurrence' | |
'g _': 'vim-mode-plus:snake-case' | |
'g r': 'vim-mode-plus:reverse' | |
'g s': 'vim-mode-plus:sort' | |
# 'ctrl-s': 'vim-mode-plus:transform-string-by-select-list' | |
# 'g tab': 'vim-mode-plus:convert-to-soft-tab' | |
# 'g shift-tab': 'vim-mode-plus:convert-to-hard-tab' | |
# 'enter': 'vim-mode-plus:toggle-persistent-selection' | |
'ctrl-a': 'vim-mode-plus:increase' | |
'ctrl-x': 'vim-mode-plus:decrease' | |
# 'g ctrl-a': 'vim-mode-plus:increment-number' # experimental | |
# 'g ctrl-x': 'vim-mode-plus:decrement-number' # experimental | |
'ctrl-h': 'window:focus-pane-on-left' | |
'ctrl-l': 'window:focus-pane-on-right' | |
# 'ctrl-w ctrl-h': 'window:focus-pane-on-left' | |
# 'ctrl-w h': 'window:focus-pane-on-left' | |
# 'ctrl-w left': 'window:focus-pane-on-left' | |
# 'ctrl-w ctrl-l': 'window:focus-pane-on-right' | |
# 'ctrl-w l': 'window:focus-pane-on-right' | |
# 'ctrl-w right': 'window:focus-pane-on-right' | |
# 'ctrl-w ctrl-k': 'window:focus-pane-above' | |
# 'ctrl-w k': 'window:focus-pane-above' | |
# 'ctrl-w up': 'window:focus-pane-above' | |
# 'ctrl-w ctrl-j': 'window:focus-pane-below' | |
# 'ctrl-w j': 'window:focus-pane-below' | |
# 'ctrl-w down': 'window:focus-pane-below' | |
# 'ctrl-w ctrl-w': 'window:focus-next-pane' | |
# 'ctrl-w w': 'window:focus-next-pane' | |
# 'ctrl-w ctrl-p': 'window:focus-previous-pane' | |
# 'ctrl-w p': 'window:focus-previous-pane' | |
# From v1.6.0 | |
# 'ctrl-w ctrl-v': 'pane:split-right-and-copy-active-item' | |
# 'ctrl-w v': 'pane:split-right-and-copy-active-item' | |
# 'ctrl-w ctrl-s': 'pane:split-down-and-copy-active-item' | |
# 'ctrl-w s': 'pane:split-down-and-copy-active-item' | |
# 'ctrl-w z': 'vim-mode-plus:maximize-pane' | |
# 'cmd-enter': 'vim-mode-plus:maximize-pane' | |
# 'ctrl-w =': 'vim-mode-plus:equalize-panes' | |
# 'ctrl-w ctrl-c': 'pane:close' | |
# 'ctrl-w c': 'pane:close' | |
# 'ctrl-w ctrl-q': 'core:close' | |
# 'ctrl-w q': 'core:close' | |
'g t': 'pane:show-next-item' | |
'g T': 'pane:show-previous-item' | |
'f': 'vim-mode-plus:find' | |
'F': 'vim-mode-plus:find-backwards' | |
't': 'vim-mode-plus:till' | |
'T': 'vim-mode-plus:till-backwards' | |
';': 'vim-mode-plus:repeat-find' | |
',': 'vim-mode-plus:repeat-find-reverse' | |
'/': 'vim-mode-plus:search' | |
'?': 'vim-mode-plus:search-backwards' | |
'*': 'vim-mode-plus:search-current-word' | |
'#': 'vim-mode-plus:search-current-word-backwards' | |
'n': 'vim-mode-plus:repeat-search' | |
'N': 'vim-mode-plus:repeat-search-reverse' | |
'g n': 'vim-mode-plus:search-match-forward' | |
'g N': 'vim-mode-plus:search-match-backward' | |
'%': 'vim-mode-plus:move-to-pair' | |
'1': 'vim-mode-plus:set-count-1' | |
'2': 'vim-mode-plus:set-count-2' | |
'3': 'vim-mode-plus:set-count-3' | |
'4': 'vim-mode-plus:set-count-4' | |
'5': 'vim-mode-plus:set-count-5' | |
'6': 'vim-mode-plus:set-count-6' | |
'7': 'vim-mode-plus:set-count-7' | |
'8': 'vim-mode-plus:set-count-8' | |
'9': 'vim-mode-plus:set-count-9' | |
# 'm': 'vim-mode-plus:mark' | |
# '`': 'vim-mode-plus:move-to-mark' | |
# "'": 'vim-mode-plus:move-to-mark-line' | |
'[': 'vim-mode-plus:move-up-to-edge' | |
']': 'vim-mode-plus:move-down-to-edge' | |
# '[ [': 'vim-mode-plus:move-to-previous-fold-start' | |
# '] [': 'vim-mode-plus:move-to-next-fold-start' | |
# '[ ]': 'vim-mode-plus:move-to-previous-fold-end' | |
# '] ]': 'vim-mode-plus:move-to-next-fold-end' | |
# '(': 'vim-mode-plus:move-to-previous-fold-start-with-same-indent' | |
# ')': 'vim-mode-plus:move-to-next-fold-start-with-same-indent' | |
# 'g s': 'vim-mode-plus:move-to-next-string' | |
# 'g S': 'vim-mode-plus:move-to-previous-string' | |
# 'g n': 'vim-mode-plus:move-to-next-number' | |
# 'g N': 'vim-mode-plus:move-to-previous-number' | |
'atom-text-editor.vim-mode-plus:not(.insert-mode):not(.operator-pending-mode)': | |
# 'z enter': 'vim-mode-plus:scroll-cursor-to-top' | |
# 'z t': 'vim-mode-plus:scroll-cursor-to-top-leave' | |
# 'z .': 'vim-mode-plus:scroll-cursor-to-middle' | |
'z z': 'vim-mode-plus:scroll-cursor-to-middle-leave' | |
# 'z -': 'vim-mode-plus:scroll-cursor-to-bottom' | |
# 'z b': 'vim-mode-plus:scroll-cursor-to-bottom-leave' | |
# 'z s': 'vim-mode-plus:scroll-cursor-to-left' | |
# 'z e': 'vim-mode-plus:scroll-cursor-to-right' | |
# | |
# 'z M': 'editor:fold-all' | |
# 'z R': 'editor:unfold-all' | |
# 'z c': 'editor:fold-current-row' | |
# 'z o': 'editor:unfold-current-row' | |
# 'z a': 'vim-mode-plus:toggle-fold' | |
'atom-text-editor.vim-mode-plus-input-char-waiting': | |
'enter': 'core:confirm' | |
'escape': 'core:cancel' | |
'space': 'vim-mode-plus:set-input-char-space' | |
'!': 'vim-mode-plus:set-input-char-!' | |
'"': 'vim-mode-plus:set-input-char-"' | |
'#': 'vim-mode-plus:set-input-char-#' | |
'$': 'vim-mode-plus:set-input-char-$' | |
'%': 'vim-mode-plus:set-input-char-%' | |
'&': 'vim-mode-plus:set-input-char-&' | |
'\'': 'vim-mode-plus:set-input-char-\'' | |
'(': 'vim-mode-plus:set-input-char-(' | |
')': 'vim-mode-plus:set-input-char-)' | |
'*': 'vim-mode-plus:set-input-char-*' | |
'+': 'vim-mode-plus:set-input-char-+' | |
',': 'vim-mode-plus:set-input-char-,' | |
'-': 'vim-mode-plus:set-input-char--' | |
'.': 'vim-mode-plus:set-input-char-.' | |
'/': 'vim-mode-plus:set-input-char-/' | |
'0': 'vim-mode-plus:set-input-char-0' | |
'1': 'vim-mode-plus:set-input-char-1' | |
'2': 'vim-mode-plus:set-input-char-2' | |
'3': 'vim-mode-plus:set-input-char-3' | |
'4': 'vim-mode-plus:set-input-char-4' | |
'5': 'vim-mode-plus:set-input-char-5' | |
'6': 'vim-mode-plus:set-input-char-6' | |
'7': 'vim-mode-plus:set-input-char-7' | |
'8': 'vim-mode-plus:set-input-char-8' | |
'9': 'vim-mode-plus:set-input-char-9' | |
':': 'vim-mode-plus:set-input-char-:' | |
';': 'vim-mode-plus:set-input-char-;' | |
'<': 'vim-mode-plus:set-input-char-<' | |
'=': 'vim-mode-plus:set-input-char-=' | |
'>': 'vim-mode-plus:set-input-char->' | |
'?': 'vim-mode-plus:set-input-char-?' | |
'@': 'vim-mode-plus:set-input-char-@' | |
'A': 'vim-mode-plus:set-input-char-A' | |
'B': 'vim-mode-plus:set-input-char-B' | |
'C': 'vim-mode-plus:set-input-char-C' | |
'D': 'vim-mode-plus:set-input-char-D' | |
'E': 'vim-mode-plus:set-input-char-E' | |
'F': 'vim-mode-plus:set-input-char-F' | |
'G': 'vim-mode-plus:set-input-char-G' | |
'H': 'vim-mode-plus:set-input-char-H' | |
'I': 'vim-mode-plus:set-input-char-I' | |
'J': 'vim-mode-plus:set-input-char-J' | |
'K': 'vim-mode-plus:set-input-char-K' | |
'L': 'vim-mode-plus:set-input-char-L' | |
'M': 'vim-mode-plus:set-input-char-M' | |
'N': 'vim-mode-plus:set-input-char-N' | |
'O': 'vim-mode-plus:set-input-char-O' | |
'P': 'vim-mode-plus:set-input-char-P' | |
'Q': 'vim-mode-plus:set-input-char-Q' | |
'R': 'vim-mode-plus:set-input-char-R' | |
'S': 'vim-mode-plus:set-input-char-S' | |
'T': 'vim-mode-plus:set-input-char-T' | |
'U': 'vim-mode-plus:set-input-char-U' | |
'V': 'vim-mode-plus:set-input-char-V' | |
'W': 'vim-mode-plus:set-input-char-W' | |
'X': 'vim-mode-plus:set-input-char-X' | |
'Y': 'vim-mode-plus:set-input-char-Y' | |
'Z': 'vim-mode-plus:set-input-char-Z' | |
'[': 'vim-mode-plus:set-input-char-[' | |
'\\': 'vim-mode-plus:set-input-char-\\' | |
']': 'vim-mode-plus:set-input-char-]' | |
'^': 'vim-mode-plus:set-input-char-^' | |
'_': 'vim-mode-plus:set-input-char-_' | |
'`': 'vim-mode-plus:set-input-char-`' | |
'a': 'vim-mode-plus:set-input-char-a' | |
'b': 'vim-mode-plus:set-input-char-b' | |
'c': 'vim-mode-plus:set-input-char-c' | |
'd': 'vim-mode-plus:set-input-char-d' | |
'e': 'vim-mode-plus:set-input-char-e' | |
'f': 'vim-mode-plus:set-input-char-f' | |
'g': 'vim-mode-plus:set-input-char-g' | |
'h': 'vim-mode-plus:set-input-char-h' | |
'i': 'vim-mode-plus:set-input-char-i' | |
'j': 'vim-mode-plus:set-input-char-j' | |
'k': 'vim-mode-plus:set-input-char-k' | |
'l': 'vim-mode-plus:set-input-char-l' | |
'm': 'vim-mode-plus:set-input-char-m' | |
'n': 'vim-mode-plus:set-input-char-n' | |
'o': 'vim-mode-plus:set-input-char-o' | |
'p': 'vim-mode-plus:set-input-char-p' | |
'q': 'vim-mode-plus:set-input-char-q' | |
'r': 'vim-mode-plus:set-input-char-r' | |
's': 'vim-mode-plus:set-input-char-s' | |
't': 'vim-mode-plus:set-input-char-t' | |
'u': 'vim-mode-plus:set-input-char-u' | |
'v': 'vim-mode-plus:set-input-char-v' | |
'w': 'vim-mode-plus:set-input-char-w' | |
'x': 'vim-mode-plus:set-input-char-x' | |
'y': 'vim-mode-plus:set-input-char-y' | |
'z': 'vim-mode-plus:set-input-char-z' | |
'{': 'vim-mode-plus:set-input-char-{' | |
'|': 'vim-mode-plus:set-input-char-|' | |
'}': 'vim-mode-plus:set-input-char-}' | |
'~': 'vim-mode-plus:set-input-char-~' | |
'atom-text-editor.vim-mode-plus.with-count:not(.insert-mode)': | |
'0': 'vim-mode-plus:set-count-0' | |
'%': 'vim-mode-plus:move-to-line-by-percent' | |
'atom-text-editor.vim-mode-plus.has-persistent-selection:not(.insert-mode)': | |
'ctrl-cmd-g': 'vim-mode-plus:select-persistent-selection' | |
'atom-text-editor.vim-mode-plus.visual-mode.is-narrowed': | |
'cmd-d': 'vim-mode-plus:select-occurrence' | |
'ctrl-cmd-c': 'vim-mode-plus:change-occurrence' | |
'.platform-darwin atom-text-editor.vim-mode-plus-search': | |
'ctrl-cmd-c': 'vim-mode-plus:change-occurrence-from-search' | |
'cmd-d': 'vim-mode-plus:select-occurrence-from-search' | |
'cmd-o': 'vim-mode-plus:add-occurrence-pattern-from-search' | |
'cmd-enter': 'vim-mode-plus:project-find-from-search' | |
# normal | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.normal-mode': | |
'i': 'vim-mode-plus:activate-insert-mode' | |
'a': 'vim-mode-plus:insert-after' | |
'I': 'vim-mode-plus:insert-at-first-character-of-line' | |
'A': 'vim-mode-plus:insert-after-end-of-line' | |
'g i': 'vim-mode-plus:insert-at-last-insert' | |
'D': 'vim-mode-plus:delete-to-last-character-of-line' | |
'R': 'vim-mode-plus:activate-replace-mode' | |
'v': 'vim-mode-plus:activate-characterwise-visual-mode' | |
'V': 'vim-mode-plus:activate-linewise-visual-mode' | |
'ctrl-v': 'vim-mode-plus:activate-blockwise-visual-mode' | |
'g v': 'vim-mode-plus:select-previous-selection' | |
# 'g c': 'vim-mode-plus:select-latest-change' | |
# 'u': 'vim-mode-plus:undo' | |
# 'ctrl-r': 'vim-mode-plus:redo' | |
'O': 'vim-mode-plus:insert-above-with-newline' | |
'o': 'vim-mode-plus:insert-below-with-newline' | |
'x': 'vim-mode-plus:delete-right' | |
'X': 'vim-mode-plus:delete-left' | |
's': 'vim-mode-plus:substitute' | |
'.': 'vim-mode-plus:repeat' | |
# 'ctrl-]': 'symbols-view:go-to-declaration' | |
# 'ctrl-t': 'symbols-view:return-from-declaration' | |
'"': 'vim-mode-plus:set-register-name' | |
# 'y s': 'vim-mode-plus:surround' | |
# 'y s w': 'vim-mode-plus:surround-word' | |
# 'd s': 'vim-mode-plus:delete-surround' | |
# 'd s': 'vim-mode-plus:delete-surround-any-pair' | |
# 'd s': 'vim-mode-plus:delete-surround-any-pair-allow-forwarding' | |
# 'y s c': 'vim-mode-plus:change-surround' | |
# 'y s c': 'vim-mode-plus:change-surround-any-pair' | |
# 'y s c': 'vim-mode-plus:change-surround-any-pair-allow-forwarding' | |
# 'y m s': 'vim-mode-plus:map-surround' | |
# operator-pending | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.operator-pending-mode': | |
'v': 'vim-mode-plus:operator-modifier-characterwise' | |
'V': 'vim-mode-plus:operator-modifier-linewise' | |
'o': 'vim-mode-plus:operator-modifier-occurrence' | |
# operator-pending.has-occurrence [Experimental] | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.operator-pending-mode.has-occurrence': | |
'p': 'vim-mode-plus:inner-paragraph' | |
'r': 'vim-mode-plus:a-persistent-selection' | |
'v': 'vim-mode-plus:inner-visible-area' | |
'f': 'vim-mode-plus:a-function' | |
'l': 'vim-mode-plus:inner-current-line' | |
'z': 'vim-mode-plus:a-fold' | |
# has-occurrence (when occurrence-marker was exists) | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.has-occurrence': | |
'I': 'vim-mode-plus:insert-at-start-of-target' | |
'A': 'vim-mode-plus:insert-at-end-of-target' | |
'atom-text-editor.vim-mode-plus.has-occurrence:not(.insert-mode)': | |
'tab': 'vim-mode-plus:search-occurrence' | |
'shift-tab': 'vim-mode-plus:search-occurrence-backwards' | |
# operator-pending, visual | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.operator-pending-mode, atom-text-editor.vim-mode-plus.visual-mode': | |
'~': 'vim-mode-plus:toggle-case' | |
'U': 'vim-mode-plus:upper-case' | |
'u': 'vim-mode-plus:lower-case' | |
# Text object inner-, a- order | |
'i w': 'vim-mode-plus:inner-word' | |
'a w': 'vim-mode-plus:a-word' | |
'i W': 'vim-mode-plus:inner-whole-word' | |
'a W': 'vim-mode-plus:a-whole-word' | |
# 'i w': 'vim-mode-plus:inner-smart-word' | |
# 'a w': 'vim-mode-plus:a-smart-word' | |
# [FIXME?] overridden Vim's sentence text object | |
'i s': 'vim-mode-plus:inner-any-pair' | |
'a s': 'vim-mode-plus:a-any-pair' | |
'i "': 'vim-mode-plus:inner-double-quote' | |
'a "': 'vim-mode-plus:a-double-quote' | |
"i '": 'vim-mode-plus:inner-single-quote' | |
"a '": 'vim-mode-plus:a-single-quote' | |
"i q": 'vim-mode-plus:inner-any-quote' | |
"a q": 'vim-mode-plus:a-any-quote' | |
'i `': 'vim-mode-plus:inner-back-tick' | |
'a `': 'vim-mode-plus:a-back-tick' | |
'i {': 'vim-mode-plus:inner-curly-bracket' | |
'i }': 'vim-mode-plus:inner-curly-bracket' | |
'a {': 'vim-mode-plus:a-curly-bracket' | |
'a }': 'vim-mode-plus:a-curly-bracket' | |
'i B': 'vim-mode-plus:inner-curly-bracket' | |
'a B': 'vim-mode-plus:a-curly-bracket' | |
'i <': 'vim-mode-plus:inner-angle-bracket' | |
'i >': 'vim-mode-plus:inner-angle-bracket' | |
'a <': 'vim-mode-plus:a-angle-bracket' | |
'a >': 'vim-mode-plus:a-angle-bracket' | |
# allow-forwarding family | |
# 'i }': 'vim-mode-plus:inner-curly-bracket-allow-forwarding' | |
# 'a }': 'vim-mode-plus:a-curly-bracket-allow-forwarding' | |
# 'i >': 'vim-mode-plus:inner-angle-bracket-allow-forwarding' | |
# 'a >': 'vim-mode-plus:a-angle-bracket-allow-forwarding' | |
# 'i ]': 'vim-mode-plus:inner-square-bracket-allow-forwarding' | |
# 'a ]': 'vim-mode-plus:a-square-bracket-allow-forwarding' | |
# 'i )': 'vim-mode-plus:inner-parenthesis-allow-forwarding' | |
# 'a )': 'vim-mode-plus:a-parenthesis-allow-forwarding' | |
'i t': 'vim-mode-plus:inner-tag' | |
'a t': 'vim-mode-plus:a-tag' | |
'i [': 'vim-mode-plus:inner-square-bracket' | |
'i ]': 'vim-mode-plus:inner-square-bracket' | |
'a [': 'vim-mode-plus:a-square-bracket' | |
'a ]': 'vim-mode-plus:a-square-bracket' | |
'i (': 'vim-mode-plus:inner-parenthesis' | |
'i )': 'vim-mode-plus:inner-parenthesis' | |
'i b': 'vim-mode-plus:inner-parenthesis' | |
'a (': 'vim-mode-plus:a-parenthesis' | |
'a )': 'vim-mode-plus:a-parenthesis' | |
'a b': 'vim-mode-plus:a-parenthesis' | |
'i p': 'vim-mode-plus:inner-paragraph' | |
'a p': 'vim-mode-plus:a-paragraph' | |
'i /': 'vim-mode-plus:inner-comment' | |
'a /': 'vim-mode-plus:a-comment' | |
'i i': 'vim-mode-plus:inner-indentation' | |
'a i': 'vim-mode-plus:a-indentation' | |
'i z': 'vim-mode-plus:inner-fold' | |
'a z': 'vim-mode-plus:a-fold' | |
'i f': 'vim-mode-plus:inner-function' | |
'a f': 'vim-mode-plus:a-function' | |
'i l': 'vim-mode-plus:inner-current-line' | |
'a l': 'vim-mode-plus:a-current-line' | |
'i e': 'vim-mode-plus:inner-entire' | |
'a e': 'vim-mode-plus:a-entire' | |
# [NOTE] subject to change in future | |
'i c': 'vim-mode-plus:inner-latest-change' | |
'a c': 'vim-mode-plus:a-latest-change' | |
'g v': 'vim-mode-plus:previous-selection' | |
'i r': 'vim-mode-plus:inner-persistent-selection' | |
'a r': 'vim-mode-plus:a-persistent-selection' | |
'i v': 'vim-mode-plus:inner-visible-area' | |
'a v': 'vim-mode-plus:a-visible-area' | |
# visual | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.visual-mode': | |
'o': 'vim-mode-plus:reverse-selections' | |
'"': 'vim-mode-plus:set-register-name' | |
'v': 'vim-mode-plus:activate-characterwise-visual-mode' | |
'V': 'vim-mode-plus:activate-linewise-visual-mode' | |
'ctrl-v': 'vim-mode-plus:activate-blockwise-visual-mode' | |
'enter': 'vim-mode-plus:create-persistent-selection' | |
'atom-text-editor.vim-mode-plus.has-persistent-selection.normal-mode, | |
atom-text-editor.vim-mode-plus.visual-mode': | |
'I': 'vim-mode-plus:insert-at-start-of-target' | |
'A': 'vim-mode-plus:insert-at-end-of-target' | |
# 'p': 'vim-mode-plus:swap-with-register' | |
# 'P': 'vim-mode-plus:swap-with-register' | |
# visual-characterwise | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.visual-mode.characterwise': | |
'C': 'vim-mode-plus:change-line' | |
# visual-blockwise | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus.visual-mode.blockwise': | |
'o': 'vim-mode-plus:blockwise-other-end', | |
'O': 'vim-mode-plus:reverse-selections', | |
'D': 'vim-mode-plus:delete-to-last-character-of-line' # To avoid overridden by delete-line in visual-mode | |
# Input mini editor e.g. mark, surround. | |
# ------------------------- | |
'atom-text-editor.vim-mode-plus-input': | |
'ctrl-c': 'vim-mode-plus:input-cancel' | |
'ctrl-[': 'vim-mode-plus:input-cancel' | |
# Search mini editor | |
# ------------------------- | |
# 'atom-text-editor.vim-mode-plus-search': | |
# 'ctrl-r ctrl-w': 'vim-mode-plus:search-set-cursor-word' | |
# 'ctrl-v': 'vim-mode-plus:search-activate-literal-mode' | |
# 'ctrl-c': 'vim-mode-plus:search-cancel' | |
# 'ctrl-[': 'vim-mode-plus:search-cancel' | |
# 'shift-tab': 'vim-mode-plus:search-visit-prev' | |
# 'tab': 'vim-mode-plus:search-visit-next' | |
'atom-text-editor.vim-mode-plus-search.search-occurrence': | |
'space': 'vim-mode-plus:toggle-occurrence-from-search' | |
# If you want to map normal char to special operation. | |
# Use `not(.literal-mode)` selector like below. | |
# When you hit `ctrl-v`, it activate literal-mode. | |
# So you can input `;`, `[`, `]` as literal char, since following keymap is only | |
# effective in `literal-mode` selector is set. | |
# | |
# 'atom-text-editor.vim-mode-plus-search:not(.literal-mode)': | |
# ';': 'vim-mode-plus:search-confirm' | |
# '[': 'vim-mode-plus:search-visit-prev' | |
# ']': 'vim-mode-plus:search-visit-next' | |
# 'space': 'vim-mode-plus:search-insert-wild-pattern' | |
'.platform-linux .advanced-open-file atom-text-editor': | |
'ctrl-alt-cmd-o': 'application:add-project-folder' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment