New text editing and paredit keys to exploit god-mode

This commit is contained in:
Kashish Sharma 2015-03-24 04:10:55 +05:30
parent 114de6d2a8
commit e3fd1294ae
1 changed files with 95 additions and 7 deletions

102
init.el
View File

@ -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)