(keymap-global-set "C-\\" #'undo-redo)
(keymap-global-set "C-S-K" #'kill-whole-line)
(keymap-global-set "C-w" #'re/kill-bword-or-region)
-(keymap-global-set "C-u"
- (lambda
- ()
- (interactive)
- (kill-line 0))) ; kill-line backwards
+(keymap-global-set "C-u" (lambda () (interactive) (kill-line 0))) ; kill-line backwards
(keymap-set key-translation-map "C-h" "<DEL>") ; Rather F1 for help
(keymap-global-set "C-o" #'re/open-line-below)
(keymap-global-set "M-o" #'re/open-line-above)
-(keymap-global-set "M-j"
- (lambda
- ()
- (interactive)
- (join-line 0))) ; join-line other way
+(keymap-global-set "M-j" (lambda () (interactive) (join-line 0))) ; join-line other way
(keymap-global-set "C-z" #'zap-up-to-char)
(keymap-global-set "C-c s" #'sort-lines)
(keymap-global-set "M-;" #'re/comment-dwim)
;; (E)Lisp
(keymap-global-set "C-M-z" #'eval-region)
(keymap-global-set "C-M-S-q"
- (lambda
- ()
- (interactive)
- (sedit-auto-prettify-sexp)))
+ (lambda () (interactive) (sedit-auto-prettify-sexp)))
+
(defvar *re/lisp-mode-hooks*
- '(emacs-lisp-mode-hook
- lisp-mode-hook
- slime-mode-hook
- scheme-mode-hook))
+ '(emacs-lisp-mode-hook lisp-mode-hook slime-mode-hook scheme-mode-hook))
-(dolist
- (hook *re/lisp-mode-hooks*)
+(dolist (hook *re/lisp-mode-hooks*)
(add-hook hook
- (lambda
- ()
- (keymap-set lisp-mode-shared-map "]"
- (re/balance-and-eval-sexp
- (lambda
- ()
- (interactive)
- (sedit-auto-prettify-sexp)
- (forward-sexp)))))))
+ (lambda ()
+ (keymap-set lisp-mode-shared-map
+ "]"
+ (re/balance-and-eval-sexp #'sedit-auto-prettify-sexp)))))
(add-hook 'lisp-interaction-mode-hook
- (lambda
- ()
- (keymap-set lisp-interaction-mode-map "]"
+ (lambda ()
+ (keymap-set lisp-interaction-mode-map
+ "]"
(re/balance-and-eval-sexp #'eval-print-last-sexp))))
;; IELM
(keymap-global-set "C-c i" #'ielm)
(add-hook 'ielm-mode-hook
- (lambda
- ()
- (keymap-set inferior-emacs-lisp-mode-map "C-l" #'comint-clear-buffer)
- (let
- ((eval-function #'ielm-send-input))
- (keymap-set inferior-emacs-lisp-mode-map ")"
+ (lambda ()
+ (keymap-set inferior-emacs-lisp-mode-map
+ "C-l"
+ #'comint-clear-buffer)
+ (let ((eval-function #'ielm-send-input))
+ (keymap-set inferior-emacs-lisp-mode-map
+ ")"
(re/send-on-close-paren eval-function))
- (keymap-set inferior-emacs-lisp-mode-map "]"
+ (keymap-set inferior-emacs-lisp-mode-map
+ "]"
(re/balance-and-eval-sexp eval-function)))))
+
;; Eshell
(keymap-global-set "C-c e" #'eshell)
(add-hook 'eshell-mode-hook
- (lambda
- ()
+ (lambda ()
(keymap-set eshell-mode-map "C-d" #'eshell-quit-or-delete-char)
- (let
- ((eval-function #'eshell-send-input))
- (keymap-set eshell-mode-map ")"
+ (let ((eval-function #'eshell-send-input))
+ (keymap-set eshell-mode-map
+ ")"
(re/send-on-close-paren eval-function))
- (keymap-set eshell-mode-map "]"
+ (keymap-set eshell-mode-map
+ "]"
(re/balance-and-eval-sexp eval-function)))))
;; SLIME REPL
(add-hook 'slime-repl-mode-hook
- (lambda
- ()
+ (lambda ()
(let ((eval-function #'slime-repl-return))
- (keymap-set slime-repl-mode-map ")"
+ (keymap-set slime-repl-mode-map
+ ")"
(re/send-on-close-paren eval-function))
- (keymap-set slime-repl-mode-map "]"
+ (keymap-set slime-repl-mode-map
+ "]"
(re/balance-and-eval-sexp eval-function)))))
;; Org Starters
(open-line n)
(indent-for-tab-command))
+(defun re/flush-extra-lines ()
+ "Change all groups of blank lines to 1 blank line."
+ (interactive)
+ (save-excursion (mark-whole-buffer)
+ (replace-regexp "^\n+" "\n" nil (region-beginning) (region-end))))
+
(defun re/comment-dwim ()
"Comment region if active, otherwise comment line.
Stolen from https://depp.brause.cc/dotemacs"
(comment-or-uncomment-region
(line-beginning-position)
(line-end-position))))
+
(defun re/kill-bword-or-region ()
"Kill region if active, otherwise kill back one word."
(interactive)