Skip to content

Instantly share code, notes, and snippets.

@0xlemi
Created October 17, 2016 03:25
Show Gist options
  • Save 0xlemi/7e67a35fde8bed75e170283d4a9cb997 to your computer and use it in GitHub Desktop.
Save 0xlemi/7e67a35fde8bed75e170283d4a9cb997 to your computer and use it in GitHub Desktop.
Atom Keymap
# 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:
# * https://atom.io/docs/latest/using-atom-basic-customization#customizing-key-bindings
# * https://atom.io/docs/latest/behind-atom-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:
# * https://atom.io/docs/latest/hacking-atom-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:
# https://atom.io/docs/latest/using-atom-basic-customization#cson
#
#
'atom-text-editor':
'ctrl-alt-n': 'advanced-open-file:toggle'
'ctrl-alt-enter': 'terminal-plus:insert-text'
'atom-text-editor':
'ctrl-shift-c': 'git-plus:add-all-commit-and-push'
# Fuzzy Searching
'atom-text-editor':
'ctrl-t': 'fuzzy-finder:toggle-file-finder'
'atom-text-editor':
'ctrl-b': 'fuzzy-finder:toggle-buffer-finder'
'atom-text-editor':
'ctrl-p': 'command-palette:toggle'
###########################################################
##################### VIM-MODE ############################
###########################################################
'atom-text-editor.vim-mode':
'escape': 'vim-mode:reset-normal-mode'
'atom-text-editor.vim-mode:not(.normal-mode)':
'escape': 'vim-mode:activate-normal-mode'
'atom-text-editor.vim-mode.insert-mode':
'ctrl-w': 'editor:delete-to-beginning-of-word'
'ctrl-u': 'editor:delete-to-beginning-of-line'
'ctrl-y': 'vim-mode:copy-from-line-above'
# disabled for compatibility with the common binding for going to the end of the line
# 'ctrl-e': 'vim-mode:copy-from-line-below'
'ctrl-r a': 'vim-mode:insert-mode-put'
'ctrl-r b': 'vim-mode:insert-mode-put'
'ctrl-r c': 'vim-mode:insert-mode-put'
'ctrl-r d': 'vim-mode:insert-mode-put'
'ctrl-r e': 'vim-mode:insert-mode-put'
'ctrl-r f': 'vim-mode:insert-mode-put'
'ctrl-r g': 'vim-mode:insert-mode-put'
'ctrl-r h': 'vim-mode:insert-mode-put'
'ctrl-r i': 'vim-mode:insert-mode-put'
'ctrl-r j': 'vim-mode:insert-mode-put'
'ctrl-r k': 'vim-mode:insert-mode-put'
'ctrl-r l': 'vim-mode:insert-mode-put'
'ctrl-r m': 'vim-mode:insert-mode-put'
'ctrl-r n': 'vim-mode:insert-mode-put'
'ctrl-r o': 'vim-mode:insert-mode-put'
'ctrl-r p': 'vim-mode:insert-mode-put'
'ctrl-r q': 'vim-mode:insert-mode-put'
'ctrl-r r': 'vim-mode:insert-mode-put'
'ctrl-r s': 'vim-mode:insert-mode-put'
'ctrl-r t': 'vim-mode:insert-mode-put'
'ctrl-r u': 'vim-mode:insert-mode-put'
'ctrl-r v': 'vim-mode:insert-mode-put'
'ctrl-r w': 'vim-mode:insert-mode-put'
'ctrl-r x': 'vim-mode:insert-mode-put'
'ctrl-r y': 'vim-mode:insert-mode-put'
'ctrl-r z': 'vim-mode:insert-mode-put'
'ctrl-r A': 'vim-mode:insert-mode-put'
'ctrl-r B': 'vim-mode:insert-mode-put'
'ctrl-r C': 'vim-mode:insert-mode-put'
'ctrl-r D': 'vim-mode:insert-mode-put'
'ctrl-r E': 'vim-mode:insert-mode-put'
'ctrl-r F': 'vim-mode:insert-mode-put'
'ctrl-r G': 'vim-mode:insert-mode-put'
'ctrl-r H': 'vim-mode:insert-mode-put'
'ctrl-r I': 'vim-mode:insert-mode-put'
'ctrl-r J': 'vim-mode:insert-mode-put'
'ctrl-r K': 'vim-mode:insert-mode-put'
'ctrl-r L': 'vim-mode:insert-mode-put'
'ctrl-r M': 'vim-mode:insert-mode-put'
'ctrl-r N': 'vim-mode:insert-mode-put'
'ctrl-r O': 'vim-mode:insert-mode-put'
'ctrl-r P': 'vim-mode:insert-mode-put'
'ctrl-r Q': 'vim-mode:insert-mode-put'
'ctrl-r R': 'vim-mode:insert-mode-put'
'ctrl-r S': 'vim-mode:insert-mode-put'
'ctrl-r T': 'vim-mode:insert-mode-put'
'ctrl-r U': 'vim-mode:insert-mode-put'
'ctrl-r V': 'vim-mode:insert-mode-put'
'ctrl-r W': 'vim-mode:insert-mode-put'
'ctrl-r X': 'vim-mode:insert-mode-put'
'ctrl-r Y': 'vim-mode:insert-mode-put'
'ctrl-r Z': 'vim-mode:insert-mode-put'
'ctrl-r *': 'vim-mode:insert-mode-put'
'ctrl-r +': 'vim-mode:insert-mode-put'
'ctrl-r %': 'vim-mode:insert-mode-put'
'ctrl-r _': 'vim-mode:insert-mode-put'
'ctrl-r "': 'vim-mode:insert-mode-put'
'ctrl-r escape': 'abort!'
'atom-text-editor.vim-mode.replace-mode':
'backspace': 'vim-mode:replace-mode-backspace'
'atom-text-editor.vim-mode:not(.insert-mode)':
############# Movement #############
'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-sentence'
'(': 'vim-mode:move-to-previous-sentence'
'}': 'vim-mode:move-to-next-paragraph'
'{': 'vim-mode:move-to-previous-paragraph'
'0': 'vim-mode:move-to-beginning-of-line'
'|': 'vim-mode:move-to-beginning-of-line'
'^': 'vim-mode:move-to-first-character-of-line'
'_': 'vim-mode:move-to-first-character-of-line-and-down'
'$': 'vim-mode:move-to-last-character-of-line'
'g _': 'vim-mode:move-to-last-nonblank-character-of-line-and-down'
'-': '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': 'vim-mode:scroll-half-screen-up'
'ctrl-b': 'vim-mode:scroll-full-screen-up'
'ctrl-d': 'find-and-replace:select-next' # Changed
'ctrl-f': 'vim-mode:scroll-full-screen-down'
'ctrl-e': 'vim-mode:scroll-down'
'ctrl-y': 'vim-mode:scroll-up'
'z enter': 'vim-mode:scroll-cursor-to-top'
'z t': 'vim-mode:scroll-cursor-to-top-leave'
'z .': 'vim-mode:scroll-cursor-to-middle'
'z z': 'vim-mode:scroll-cursor-to-middle-leave'
'z -': 'vim-mode:scroll-cursor-to-bottom'
'z b': 'vim-mode:scroll-cursor-to-bottom-leave'
'z s': 'vim-mode:scroll-cursor-to-left'
'z e': 'vim-mode: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'
'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'
############# Edit #############
'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'
############# Copy #############
'y': 'vim-mode:yank'
'Y': 'vim-mode:yank-line'
'P': 'vim-mode:put-before'
'p': 'vim-mode:put-after'
'g ~': 'vim-mode:toggle-case'
'g U': 'vim-mode:upper-case'
'g u': 'vim-mode:lower-case'
'~': 'vim-mode:toggle-case-now'
############# Panes #############
'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' // Conflict
'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'
############# Search #############
'f': 'vim-mode:find'
'F': 'vim-mode:find-backwards'
't': 'vim-mode:till'
'T': 'vim-mode:till-backwards'
';': 'vim-mode:repeat-find'
',': 'vim-mode:repeat-find-reverse'
'/': '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'
############# Repetition #############
'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'
'atom-text-editor.vim-mode.normal-mode':
'i': 'vim-mode:activate-insert-mode'
'insert': 'vim-mode:activate-insert-mode'
'R': 'vim-mode:activate-replace-mode'
'v': 'vim-mode:activate-characterwise-visual-mode'
'V': 'vim-mode:activate-linewise-visual-mode'
'ctrl-v': 'vim-mode:activate-blockwise-visual-mode'
'u': 'vim-mode: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'
's': 'vim-mode:substitute'
'.': 'vim-mode:repeat'
'ctrl-[': 'symbols-view:return-from-declaration' # Changed
'ctrl-]': 'symbols-view:go-to-declaration'
'ctrl-a': 'vim-mode:increase'
'ctrl-x': 'vim-mode:decrease'
'" 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'
'" 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'
'atom-text-editor.vim-mode.operator-pending-mode, atom-text-editor.vim-mode.visual-mode':
'i w': 'vim-mode:select-inside-word'
'i W': 'vim-mode:select-inside-whole-word'
'i "': 'vim-mode:select-inside-double-quotes'
'i \'': 'vim-mode:select-inside-single-quotes'
'i `': 'vim-mode:select-inside-back-ticks'
'i {': 'vim-mode:select-inside-curly-brackets'
'i }': 'vim-mode:select-inside-curly-brackets'
'i B': 'vim-mode:select-inside-curly-brackets'
'i <': 'vim-mode:select-inside-angle-brackets'
'i >': 'vim-mode:select-inside-angle-brackets'
'i t': 'vim-mode:select-inside-tags'
'i [': 'vim-mode:select-inside-square-brackets'
'i ]': 'vim-mode:select-inside-square-brackets'
'i (': 'vim-mode:select-inside-parentheses'
'i )': 'vim-mode:select-inside-parentheses'
'i b': 'vim-mode:select-inside-parentheses'
'i p': 'vim-mode:select-inside-paragraph'
'a w': 'vim-mode:select-a-word'
'a W': 'vim-mode:select-a-whole-word'
'a "': 'vim-mode:select-around-double-quotes'
'a \'': 'vim-mode:select-around-single-quotes'
'a `': 'vim-mode:select-around-back-ticks'
'a {': 'vim-mode:select-around-curly-brackets'
'a }': 'vim-mode:select-around-curly-brackets'
'a B': 'vim-mode:select-around-curly-brackets'
'a <': 'vim-mode:select-around-angle-brackets'
'a >': 'vim-mode:select-around-angle-brackets'
'a [': 'vim-mode:select-around-square-brackets'
'a ]': 'vim-mode:select-around-square-brackets'
'a (': 'vim-mode:select-around-parentheses'
'a )': 'vim-mode:select-around-parentheses'
'a b': 'vim-mode:select-around-parentheses'
'a p': 'vim-mode:select-around-paragraph'
'x': 'vim-mode:reset-normal-mode'
'atom-text-editor.vim-mode.visual-mode':
############# Visual Mode #############
'x': 'vim-mode:delete'
's': 'vim-mode:change'
'o': 'vim-mode:reverse-selections'
'U': 'vim-mode:upper-case'
'u': 'vim-mode:lower-case'
'v': 'vim-mode:activate-characterwise-visual-mode'
'V': 'vim-mode:activate-linewise-visual-mode'
'ctrl-v': 'vim-mode:activate-blockwise-visual-mode'
'" 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'
'" 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'
'.tree-view':
'g g': 'core:move-to-top'
'shift-g': 'core:move-to-bottom'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment