'.editor.vim-mode:not(.command-mode)':
  'escape': 'vim-mode:activate-command-mode'
  'ctrl-[': 'vim-mode:activate-command-mode'

'.platform-darwin .editor.vim-mode:not(.command-mode)':
  'ctrl-c': 'vim-mode:activate-command-mode'

'.editor.vim-mode:not(.insert-mode)':
  'h': 'vim-mode:move-left'
  'left': 'vim-mode:move-left'
  'backspace': 'core:move-left'
  'l': 'vim-mode:move-right'
  'space': 'vim-mode:move-right'
  'right': 'vim-mode:move-right'
  'k': 'vim-mode:move-up'
  'up': 'vim-mode:move-up'
  'j': 'vim-mode:move-down'
  'down': 'vim-mode:move-down'

  'w': 'vim-mode:move-to-next-word'
  'W': 'vim-mode:move-to-next-whole-word'
  'e': 'vim-mode:move-to-end-of-word'
  'E': 'vim-mode:move-to-end-of-whole-word'
  'b': 'vim-mode:move-to-previous-word'
  'B': 'vim-mode:move-to-previous-whole-word'
  '}': 'vim-mode:move-to-next-paragraph'
  '{': 'vim-mode:move-to-previous-paragraph'
  '0': 'vim-mode:move-to-beginning-of-line'
  '^': 'vim-mode:move-to-first-character-of-line'
  '$': 'vim-mode:move-to-last-character-of-line'
  '-': 'vim-mode:move-to-first-character-of-line-up'
  '+': 'vim-mode:move-to-first-character-of-line-down'
  'enter': 'vim-mode:move-to-first-character-of-line-down'
  'g g': 'vim-mode:move-to-start-of-file'
  'ctrl-u': 'core:page-up'
  'ctrl-b': 'core:page-up'
  'ctrl-d': 'core:page-down'
  'ctrl-f': 'core:page-down'
  'ctrl-e': 'vim-mode:scroll-down'
  'ctrl-y': 'vim-mode:scroll-up'
  'G': 'vim-mode:move-to-line'
  'H': 'vim-mode:move-to-top-of-screen'
  'L': 'vim-mode:move-to-bottom-of-screen'
  'M': 'vim-mode:move-to-middle-of-screen'

  'd': 'vim-mode:delete'
  'D': 'vim-mode:delete-to-last-character-of-line'
  'c': 'vim-mode:change'
  'C': 'vim-mode:change-to-last-character-of-line'
  'S': 'vim-mode:substitute-line'
  'r': 'vim-mode:replace'
  'I': 'vim-mode:insert-at-beginning-of-line'
  '>': 'vim-mode:indent'
  '<': 'vim-mode:outdent'
  '=': 'vim-mode:auto-indent'
  'J': 'vim-mode:join'

  'y': 'vim-mode:yank'
  'Y': 'vim-mode:yank-line'
  'P': 'vim-mode:put-before'
  'p': 'vim-mode:put-after'

  'ctrl-w ctrl-h': 'vim-mode:focus-pane-view-on-left'
  'ctrl-w h': 'vim-mode:focus-pane-view-on-left'
  'ctrl-w left': 'window:focus-pane-on-left'
  'ctrl-w ctrl-l': 'vim-mode:focus-pane-view-on-right'
  'ctrl-w l': 'vim-mode:focus-pane-view-on-right'
  'ctrl-w right': 'window:focus-pane-on-right'
  'ctrl-w ctrl-k': 'vim-mode:focus-pane-view-above'
  'ctrl-w k': 'vim-mode:focus-pane-view-above'
  'ctrl-w up': 'window:focus-pane-above'
  'ctrl-w ctrl-j': 'vim-mode:focus-pane-view-below'
  'ctrl-w j': 'vim-mode:focus-pane-view-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': 'vim-mode:focus-previous-pane-view'
  'ctrl-w p': 'window:focus-previous-pane'
  'ctrl-w ctrl-v': 'pane:split-right'
  'ctrl-w v': 'pane:split-right'
  'ctrl-w ctrl-s': 'pane:split-down'
  'ctrl-w s': 'pane:split-down'
  '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'

  'm': 'vim-mode:mark'
  '`': 'vim-mode:move-to-mark-literal'
  '\'': 'vim-mode:move-to-mark'

  'f': 'vim-mode:find'
  'F': 'vim-mode:find-backwards'
  't': 'vim-mode:till'
  'T': 'vim-mode:till-backwards'

  '/': 'vim-mode:search'
  '?': 'vim-mode:reverse-search'
  '*': 'vim-mode:search-current-word'
  '#': 'vim-mode:reverse-search-current-word'
  'n': 'vim-mode:repeat-search'
  'N': 'vim-mode:repeat-search-backwards'

  '%': 'vim-mode:bracket-matching-motion'

  '1': 'vim-mode:repeat-prefix'
  '2': 'vim-mode:repeat-prefix'
  '3': 'vim-mode:repeat-prefix'
  '4': 'vim-mode:repeat-prefix'
  '5': 'vim-mode:repeat-prefix'
  '6': 'vim-mode:repeat-prefix'
  '7': 'vim-mode:repeat-prefix'
  '8': 'vim-mode:repeat-prefix'
  '9': 'vim-mode:repeat-prefix'

'.editor.vim-mode.command-mode':
  'i': 'vim-mode:activate-insert-mode'
  'v': 'vim-mode:activate-characterwise-visual-mode'
  'V': 'vim-mode:activate-linewise-visual-mode'
  'ctrl-v': 'vim-mode:activate-blockwise-visual-mode'
  'escape': 'vim-mode:reset-command-mode'
  'ctrl-c': 'vim-mode:reset-command-mode'
  'ctrl-[': 'vim-mode:reset-command-mode'

  'u': 'core:undo'
  'ctrl-r': 'core:redo'

  'O': 'vim-mode:insert-above-with-newline'
  'o': 'vim-mode:insert-below-with-newline'
  'a': 'vim-mode:insert-after'
  'A': 'vim-mode:insert-after-end-of-line'
  'x': 'vim-mode:delete-right'
  'X': 'vim-mode:delete-left'
  '~': 'vim-mode:toggle-case'
  's': 'vim-mode:substitute'
  '.': 'vim-mode:repeat'

  'ctrl-]': 'symbols-view:go-to-declaration'
  'ctrl-T': 'symbols-view:return-from-declaration'

  '" a': 'vim-mode:register-prefix'
  '" b': 'vim-mode:register-prefix'
  '" c': 'vim-mode:register-prefix'
  '" d': 'vim-mode:register-prefix'
  '" e': 'vim-mode:register-prefix'
  '" f': 'vim-mode:register-prefix'
  '" g': 'vim-mode:register-prefix'
  '" h': 'vim-mode:register-prefix'
  '" i': 'vim-mode:register-prefix'
  '" j': 'vim-mode:register-prefix'
  '" k': 'vim-mode:register-prefix'
  '" l': 'vim-mode:register-prefix'
  '" m': 'vim-mode:register-prefix'
  '" n': 'vim-mode:register-prefix'
  '" o': 'vim-mode:register-prefix'
  '" p': 'vim-mode:register-prefix'
  '" q': 'vim-mode:register-prefix'
  '" r': 'vim-mode:register-prefix'
  '" s': 'vim-mode:register-prefix'
  '" t': 'vim-mode:register-prefix'
  '" u': 'vim-mode:register-prefix'
  '" v': 'vim-mode:register-prefix'
  '" w': 'vim-mode:register-prefix'
  '" x': 'vim-mode:register-prefix'
  '" y': 'vim-mode:register-prefix'
  '" z': 'vim-mode:register-prefix'
  '" *': 'vim-mode:register-prefix'
  '" +': 'vim-mode:register-prefix'
  '" %': 'vim-mode:register-prefix'
  '" _': 'vim-mode:register-prefix'

'.editor.vim-mode.operator-pending-mode, .editor.vim-mode.visual-mode':
  'i w': 'vim-mode:select-inside-word'
  'i "': 'vim-mode:select-inside-double-quotes'
  'i \'': 'vim-mode:select-inside-single-quotes'
  'i {': 'vim-mode:select-inside-curly-brackets'
  'i <': 'vim-mode:select-inside-angle-brackets'
  'i (': 'vim-mode:select-inside-parentheses'

'.editor.vim-mode.visual-mode':
  'x': 'vim-mode:delete'
  's': 'vim-mode:change'
