Created
December 4, 2014 19:26
-
-
Save m-renaud/599866723fe5aaaead8d to your computer and use it in GitHub Desktop.
Ergonomic keyboard mappings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set bind-tty-special-chars off | |
Control-h: backward-char | |
"\eh": backward-word | |
Control-t: previous-history | |
Control-n: next-history | |
Control-s: forward-char | |
"\es": forward-word |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; Ergonomic changes. | |
;;; Keep in mind, these are for the Dvorak keyboard layout. | |
(defvar mrenaud-ergo-minor-mode-map (make-keymap) "mrenaud-ergo-minor-mode keymap.") | |
;; Movement commands: | |
;; Now lie on right hand homerow. | |
;; h t n s | |
;; < ^ v > | |
(define-key mrenaud-ergo-minor-mode-map (kbd "C-h") 'backward-char) | |
(define-key mrenaud-ergo-minor-mode-map (kbd "M-h") 'backward-word) | |
(define-key mrenaud-ergo-minor-mode-map (kbd "C-t") 'previous-line) | |
(define-key mrenaud-ergo-minor-mode-map (kbd "C-s") 'forward-char) | |
(define-key mrenaud-ergo-minor-mode-map (kbd "M-s") 'forward-word) | |
;; Other window. | |
(define-key mrenaud-ergo-minor-mode-map (kbd "C-<tab>") 'other-window) | |
;; Use C-f for searching. | |
(define-key mrenaud-ergo-minor-mode-map (kbd "C-f") 'isearch-forward-regexp) | |
(define-key mrenaud-ergo-minor-mode-map (kbd "C-r") 'isearch-backward-regexp) | |
;; Swap functionality of C-p and C-x. | |
;; C-x is more difficult to type then C-p, especially on a split keyboard | |
;; that has the x on the left hand. | |
(keyboard-translate ?\C-p ?\C-x) | |
(keyboard-translate ?\C-x ?\C-p) | |
(define-minor-mode mrenaud-ergo-minor-mode | |
"A minor mode for ergonomic key bindings." | |
t " ergo-keys" 'mrenaud-ergo-minor-mode-map) | |
(mrenaud-ergo-minor-mode 1) | |
;; Disable ergo keybindings in minibuffer so they don't interfere. Mostly so it | |
;; doesn't interfere with C-s in iswitch-b-mode. | |
(defun mrenaud-ergo-minibuffer-setup-hook () | |
(mrenaud-ergo-minor-mode 0)) | |
(add-hook 'minibuffer-setup-hook 'mrenaud-ergo-minibuffer-setup-hook) | |
(provide 'mrenaud-ergo) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment