spacemacs/spacemacs/keybindings.el

165 lines
6.1 KiB
EmacsLisp
Raw Normal View History

;; instantly display current keystrokes in mini buffer
2014-08-05 13:49:09 +00:00
(setq echo-keystrokes 0.02)
2014-09-21 03:08:58 +00:00
;; auto-indent on RET
(define-key global-map (kbd "RET") 'newline-and-indent)
;; alternate binding to search next occurrence with isearch without
;; exiting isearch
(define-key isearch-mode-map (kbd "S-<return>") 'isearch-repeat-forward)
(define-key isearch-mode-map (kbd "M-S-<return>") 'isearch-repeat-backward)
;; ---------------------------------------------------------------------------
;; evil-leader key bindings
;; ---------------------------------------------------------------------------
;; Universal argument ---------------------------------------------------------
(evil-leader/set-key "u" 'universal-argument)
;; shell command -------------------------------------------------------------
(evil-leader/set-key "!" 'shell-command)
;; switch back and forth between two last buffers -----------------------------
(evil-leader/set-key "TAB"
(lambda ()
(interactive)
(switch-to-buffer (other-buffer (current-buffer) t))))
;; applications ---------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
2014-07-15 03:28:39 +00:00
"ac" 'calc-dispatch
2014-04-14 01:23:54 +00:00
"ad" 'dired
2014-08-29 04:00:01 +00:00
"ai" 'irc
2014-04-14 01:23:54 +00:00
"ap" 'proced
"ase" 'eshell
"asi" 'shell
"au" 'undo-tree-visualize)
;; buffers --------------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"bd" 'delete-current-buffer-file
"be" 'erase-buffer
2014-04-14 01:23:54 +00:00
"bK" 'kill-other-buffers
"bk" 'ido-kill-buffer
"b C-k" 'kill-matching-buffers-rudely
"bn" 'switch-to-next-buffer
"bp" 'switch-to-prev-buffer
"bR" (lambda () (interactive) (revert-buffer nil t))
2014-04-14 01:23:54 +00:00
"br" 'rename-current-buffer-file
"bw" 'toggle-read-only)
;; Cycling settings -----------------------------------------------------------
(evil-leader/set-key "ct" 'spacemacs/cycle-spacemacs-theme)
2014-10-29 14:02:28 +00:00
;; describe functions ---------------------------------------------------------
(evil-leader/set-key
"hdf" 'describe-function
"hdk" 'describe-key
"hdm" 'describe-mode
"hdv" 'describe-variable)
2013-02-07 16:36:01 +00:00
;; errors ---------------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"en" 'next-error
"ep" 'previous-error)
2013-02-19 23:10:55 +00:00
;; find -----------------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"ff" 'ido-find-file
"fg" 'rgrep)
2013-06-05 11:34:55 +00:00
;; file -----------------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"fei" 'find-user-init-file
"fes" 'find-spacemacs-file
"fec" 'find-contrib-file
"fed" 'find-dotfile
2014-04-14 01:23:54 +00:00
"fS" 'evil-write-all
"fs" 'evil-write
"fy" 'camdez/show-buffer-file-name)
;; insert stuff ---------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"ij" (lambda (count)
"Insert a new line below with no identation."
(interactive "p")
(save-excursion
(evil-move-end-of-line)
(while (> count 0)
(insert "\n")
(setq count (1- count)))))
2014-04-14 01:23:54 +00:00
"ik" 'evil-insert-line-above)
;; format ---------------------------------------------------------------------
2014-11-17 01:38:09 +00:00
;; <SPC> j k key binding for a frequent action: go and indent line below the point
;; <SPC> J split the current line at point and indent it
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"J" 'sp-split-sexp
"jJ" (lambda () (interactive) (sp-split-sexp 1) (sp-newline))
2014-09-13 03:20:43 +00:00
"jj" 'sp-newline
"jk" 'evil-goto-next-line-and-indent)
;; navigation -----------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"jh" (lambda () (interactive) (push-mark (point)) (evil-beginning-of-line))
"jl" (lambda () (interactive) (push-mark (point)) (evil-end-of-line)))
;; Compilation ----------------------------------------------------------------
(evil-leader/set-key "C" 'compile)
;; narrow & widen -------------------------------------------------------------
(unless (ht-contains? config-system-all-packages 'fancy-narrow)
(evil-leader/set-key
"nr" 'narrow-to-region
"np" 'narrow-to-page
"nf" 'narrow-to-defun
"nw" 'widen))
;; spell check ---------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"Sc" 'cofi/helm-flyspell-correct
"Sn" 'flyspell-goto-next-error)
;; toggle ---------------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"t8" 'toggle-fill-column-indicator
"tF" 'fringe-mode
"tff" 'toggle-frame-fullscreen
"tfm" 'toggle-frame-maximized
"tn" 'global-linum-mode
2014-04-14 01:23:54 +00:00
"tw" 'toggle-read-only)
2013-02-06 15:43:36 +00:00
;; window ---------------------------------------------------------------------
;; (evil-leader/set-key "wb" 'evenly-split-window-right)
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"w2" 'layout-double-columns
"w3" 'layout-triple-columns
2014-04-14 01:23:54 +00:00
"wb" 'split-window-right
"wc" 'delete-window
"wd" 'toggle-current-window-dedication
"wH" 'evil-window-move-far-left
"wh" 'evil-window-left
"wJ" 'evil-window-move-very-bottom
"wj" 'evil-window-down
"wK" 'evil-window-move-very-top
"wk" 'evil-window-up
"wL" 'evil-window-move-far-right
"wl" 'evil-window-right
2014-05-01 01:41:26 +00:00
"wM" 'toggle-maximize-centered-buffer
2014-04-14 01:23:54 +00:00
"wm" 'toggle-maximize-buffer
"wr" 'rotate-windows
"wR" 'rotate-windows-backward
;; "wv" 'evenly-split-window-below)
"wv" 'split-window-below
"wsh" 'shrink-window-horizontally
"wsj" 'shrink-window
"wsk" 'enlarge-window
"wsl" 'enlarge-window-horizontally
"wU" 'winner-redo
"wu" 'winner-undo
"ww" 'other-window)
;; text -----------------------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"x=" 'spacemacs/reset-font-size
"x+" 'spacemacs/scale-up-font
"x-" 'spacemacs/scale-down-font
2014-04-14 01:23:54 +00:00
"xdw" 'delete-trailing-whitespace
"xtc" 'transpose-chars
"xtl" 'transpose-lines
"xtw" 'transpose-words
"xU" 'upcase-region
"xu" 'downcase-region
"xwC" 'count-words-analysis
"xwc" 'count-words-region)
;; google translate -----------------------------------------------------------
2014-04-14 01:23:54 +00:00
(evil-leader/set-key
"xgl" 'set-google-translate-languages)
;; Lisps ----------------------------------------------------------------------
(evil-leader/set-key-for-mode 'emacs-lisp-mode
2014-09-28 22:03:02 +00:00
"mD" 'elisp-slime-nav-describe-elisp-thing-at-point
"mg" 'elisp-slime-nav-find-elisp-thing-at-point
"mhv" 'describe-variable
2014-04-27 04:58:12 +00:00
"mta" (lambda () (interactive) (ert t))
"mtf" 'ert)