Skip to content

Instantly share code, notes, and snippets.

@rogerhub
Last active December 10, 2016 09:19
Show Gist options
  • Save rogerhub/398f9a2466e948df9f06a1066a10f530 to your computer and use it in GitHub Desktop.
Save rogerhub/398f9a2466e948df9f06a1066a10f530 to your computer and use it in GitHub Desktop.
# 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'
# 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