Skip to content

Instantly share code, notes, and snippets.

@julienba
Last active September 8, 2020 13:45
Show Gist options
  • Save julienba/01ca1cdec5b76f649fd3240151df3f69 to your computer and use it in GitHub Desktop.
Save julienba/01ca1cdec5b76f649fd3240151df3f69 to your computer and use it in GitHub Desktop.
atom
# 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 macOS 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
# Allows using enter to select an autocomplete suggestion.
'.platform-linux atom-text-editor[data-grammar~="clojure"].autocomplete-active':
'enter': 'autocomplete-plus:confirm'
'.platform-linux atom-text-editor[data-grammar~="clojure"]':
# Indent the current selection
'cmd-i': 'lisp-paredit:indent'
# Expand the selection up a block
'ctrl-shift-m': 'lisp-paredit:expand-selection'
# Provides proper indentation when enter is pressed. (I disable normal lisp-paredit keybindings)
'enter': 'lisp-paredit:newline'
# Helpers for cutting, copying, pasting, deleting, and indenting a Clojure code
'cmd-shift-x': 'jason:cut-sexp'
'cmd-shift-c': 'jason:copy-sexp'
'cmd-shift-v': 'jason:paste-sexp'
'cmd-shift-delete': 'jason:delete-sexp'
'cmd-shift-d': 'jason:delete-sexp'
'cmd-shift-i': 'jason:indent-top-sexp'
# Miscellaneous helpers. Less applicable to clojure code. (optional)
'.platform-linux atom-workspace atom-text-editor':
'alt-up': 'editor:move-line-up'
'alt-down': 'editor:move-line-down'
'cmd-alt-down': 'editor:duplicate-lines'
'cmd-d': 'editor:delete-line'
'ctrl-shift-n':'tree-view:toggle'
#'cmd-e': 'find-and-replace:select-next'
'cmd-alt-ctrl-w': 'editor:toggle-soft-wrap'
'alt-backspace': 'editor:delete-to-previous-word-boundary'
'alt-delete': 'editor:delete-to-next-word-boundary'
'cmd-l': 'go-to-line:toggle'
'ctrl-w' : 'core:close'
'atom-workspace atom-text-editor:not([mini])':
'ctrl-alt-, b': 'chlorine:evaluate-block'
'ctrl-e': 'chlorine:evaluate-selection'
'ctrl-l': 'chlorine:clear-console'
'ctrl-alt-, d': 'chlorine:doc-for-var'
'ctrl-alt-, s': 'chlorine:source-for-var'
'ctrl-i ctrl-c': 'chlorine:clear-inline-results'
;; .lein/profiles.clj
{:user {:plugins [[lein-localrepo "0.4.0"]]
;[jonase/eastwood "0.3.10"]]
:repl-options {:timeout 200000}
:dependencies [;[proto-repl "0.3.1"]
[compliment "0.3.10"]
;[org.rksm/suitable "0.3.5" :exclusions [clojurescript org.clojure/clojurescript]]]
]
:injections [(load-file (str (System/getProperty "user.home") "/.lein/..clj")) (require '.)]
}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment