New text editing and paredit keys to exploit god-mode
This commit is contained in:
parent
114de6d2a8
commit
e3fd1294ae
102
init.el
102
init.el
|
@ -82,27 +82,85 @@
|
|||
;;;; Highlight current line
|
||||
(global-hl-line-mode 1)
|
||||
|
||||
;;;; Custom keys
|
||||
;;;; Saner Emacs editing
|
||||
(global-set-key (kbd "C-h") 'backward-delete-char)
|
||||
(define-key isearch-mode-map (kbd "C-h") 'isearch-delete-char)
|
||||
(global-set-key (kbd "C-y") 'whole-line-or-region-yank)
|
||||
;(global-set-key (kbd "M-w") 'whole-line-or-region-kill-ring-save)
|
||||
(global-set-key (kbd "C-w") 'whole-line-or-region-kill-region)
|
||||
(global-set-key (kbd "M-w") 'whole-line-or-region-kill-ring-save)
|
||||
;(global-set-key (kbd "C-w") 'whole-line-or-region-kill-region)
|
||||
(global-set-key (kbd "C-w") 'backward-kill-word)
|
||||
|
||||
(global-set-key (kbd "C-x C-k C-l") 'whole-line-or-region-kill-region)
|
||||
(global-set-key (kbd "C-,") 'backward-paragraph)
|
||||
(global-set-key (kbd "C-.") 'forward-paragraph)
|
||||
(global-set-key (kbd "C-<") 'beginning-of-buffer)
|
||||
(global-set-key (kbd "C->") 'end-of-buffer)
|
||||
|
||||
(setq dired-bind-jump nil)
|
||||
(global-set-key (kbd "C-x C-j") 'join-line)
|
||||
(global-set-key (kbd "C-x C-b") 'eval-buffer)
|
||||
(global-set-key (kbd "C-x C-l") 'helm-mini)
|
||||
|
||||
(defun kill-line-0 ()
|
||||
(interactive)
|
||||
(kill-line 0))
|
||||
;;;; Look Mom, a bug! paredit-kill with a zero arg can unbalance parens...
|
||||
(defun paredit-kill-0 ()
|
||||
(interactive)
|
||||
(paredit-kill 0))
|
||||
(global-set-key (kbd "C-u") 'kill-line-0)
|
||||
|
||||
;; C-z (suspend-frame) is utterly useless and disruptive - good place to put universal-argument
|
||||
(global-unset-key (kbd "C-z"))
|
||||
(global-set-key (kbd "C-z") 'universal-argument)
|
||||
|
||||
;; (defun contrapunctus-kill-line (&optional arg)
|
||||
;; (interactive)
|
||||
;; (if arg
|
||||
;; (if mark-active
|
||||
;; (kill-region arg)
|
||||
;; (kill-line arg))
|
||||
;; (if mark-active
|
||||
;; (kill-region)
|
||||
;; (kill-line))))
|
||||
;; (global-set-key (kbd "C-k") 'contrapunctus-kill-line)
|
||||
;; Chris Done (god-mode) recommends this, but Emacs' repeat command is almost useless...
|
||||
;; (global-set-key (kbd "C-.") 'repeat)
|
||||
|
||||
;;;; I like the transpose commands
|
||||
(global-unset-key (kbd "C-t"))
|
||||
(global-set-key (kbd "C-t C-c") 'transpose-chars)
|
||||
(global-set-key (kbd "C-t C-w") 'transpose-words)
|
||||
(global-set-key (kbd "C-t C-l") 'transpose-lines)
|
||||
(global-set-key (kbd "C-t C-s") 'transpose-sentences)
|
||||
;; C-t C-x could also be a good choice
|
||||
(global-set-key (kbd "C-t C-e") 'transpose-sexps)
|
||||
(global-set-key (kbd "C-t C-p") 'transpose-paragraphs)
|
||||
|
||||
;;;; Vim-style prompt-less tag jumping
|
||||
;;;; http://stackoverflow.com/questions/12074897/automatically-jump-to-tag-in-emacs
|
||||
(defun find-tag-no-prompt ()
|
||||
"Jump to the tag at point without prompting"
|
||||
(interactive)
|
||||
(find-tag (find-tag-default)))
|
||||
(global-set-key (kbd "M-.") 'find-tag-no-prompt)
|
||||
|
||||
;;;; Custom keys
|
||||
(global-set-key (kbd "C-x C-1") 'delete-other-windows)
|
||||
(global-set-key (kbd "C-x C-2") 'split-window-below)
|
||||
(global-set-key (kbd "C-x C-3") 'split-window-right)
|
||||
(global-set-key (kbd "C-x C-0") 'delete-window)
|
||||
(global-set-key (kbd "C-x C-4 C-f") 'find-file-other-window)
|
||||
;(global-set-key (kbd "C-`") 'point-to-register)
|
||||
;(global-set-key (kbd "C-'") 'jump-to-register)
|
||||
(global-set-key (kbd "C-h") 'backward-delete-char)
|
||||
(global-set-key (kbd "C-x C-d") 'dired)
|
||||
(global-set-key (kbd "C-x C-d") 'dired-jump)
|
||||
(global-set-key (kbd "C-x l") 'helm-mini)
|
||||
;(global-set-key (kbd "C-x l") 'recentf-open-files)
|
||||
;(global-set-key (kbd "C-x") 'backward-kill-word)
|
||||
;(global-set-key (kbd "C-,") 'string-rectangle 'TAB)
|
||||
(global-unset-key (kbd "C-u"))
|
||||
(global-unset-key (kbd "C-x d"))
|
||||
(global-set-key (kbd "C-x df") 'delete-frame)
|
||||
;;;; make-frame key is after Helm's config
|
||||
|
||||
(global-set-key (kbd "C-x z") 'switch-to-buffer)
|
||||
(global-set-key (kbd "C-x b") 'eval-buffer)
|
||||
(global-unset-key (kbd "C-c s"))
|
||||
|
@ -377,6 +435,9 @@
|
|||
;;;; magit
|
||||
(require 'magit)
|
||||
(global-set-key (kbd "C-x m") 'magit-status)
|
||||
(define-key magit-mode-map (kbd "C-n") 'next-line)
|
||||
(define-key magit-mode-map (kbd "C-p") 'previous-line)
|
||||
|
||||
;;;; mic-paren
|
||||
(require 'mic-paren)
|
||||
(paren-activate)
|
||||
|
@ -394,6 +455,33 @@
|
|||
(add-hook 'inferior-scheme-mode-hook 'paredit-mode)
|
||||
|
||||
(global-set-key (kbd "C-x C-p") 'paredit-mode)
|
||||
(define-key paredit-mode-map (kbd "C-p") 'paredit-backward-down)
|
||||
(define-key paredit-mode-map (kbd "C-n") 'paredit-forward-up)
|
||||
(define-key paredit-mode-map (kbd "C-b") 'paredit-backward)
|
||||
(define-key paredit-mode-map (kbd "C-f") 'paredit-forward)
|
||||
(define-key paredit-mode-map (kbd "C-u") 'paredit-backward-up)
|
||||
(define-key paredit-mode-map (kbd "C-d") 'paredit-forward-down)
|
||||
(define-key comint-mode-map (kbd "C-d") 'paredit-forward-down)
|
||||
|
||||
(define-key paredit-mode-map (kbd "M-b") 'backward-char)
|
||||
(define-key paredit-mode-map (kbd "M-f") 'forward-char)
|
||||
(define-key paredit-mode-map (kbd "M-p") 'previous-line)
|
||||
(define-key paredit-mode-map (kbd "M-n") 'next-line)
|
||||
(define-key paredit-mode-map (kbd "M-u") 'paredit-kill-0)
|
||||
(define-key paredit-mode-map (kbd "M-d") 'paredit-forward-delete)
|
||||
|
||||
(define-key paredit-mode-map (kbd "C-M-b") 'backward-word)
|
||||
(define-key paredit-mode-map (kbd "C-M-f") 'forward-word)
|
||||
(define-key paredit-mode-map (kbd "C-M-u") 'upcase-word)
|
||||
(define-key paredit-mode-map (kbd "C-M-d") 'paredit-forward-kill-word)
|
||||
(define-key paredit-mode-map (kbd "C-M-p") nil)
|
||||
(define-key paredit-mode-map (kbd "C-M-n") nil)
|
||||
(define-key comint-mode-map (kbd "C-M-p") 'comint-previous-input)
|
||||
(define-key comint-mode-map (kbd "C-M-n") 'comint-next-input)
|
||||
|
||||
(define-key paredit-mode-map (kbd "M-w") 'paredit-copy-as-kill)
|
||||
(define-key paredit-mode-map (kbd "C-h") 'paredit-backward-delete)
|
||||
(define-key paredit-mode-map (kbd "C-w") 'paredit-backward-kill-word)
|
||||
|
||||
;;;; quack
|
||||
;(require 'quack)
|
||||
|
|
Loading…
Reference in New Issue