diff options
Diffstat (limited to '.emacs')
| -rw-r--r-- | .emacs | 25 |
1 files changed, 21 insertions, 4 deletions
@@ -127,14 +127,31 @@ (require 'project) (magit-status (project-prompt-project-dir))) +(defmacro my/define-prefix-command (name doc bindings) + (declare (indent defun)) + `(defvar ,name + (let ((map (define-prefix-command ',name))) + (pcase-dolist (`(,key . ,fun) ,bindings) + (define-key map key fun)) + map) + ,doc)) + +(my/define-prefix-command my/display-map + "Keymap for display-related commands." + '(("t" . toggle-truncate-lines) + ("v" . visual-line-mode))) + +(my/define-prefix-command my/input-map + "Keymap for input methods shortcuts." + `(("t" . ,(my/make-input-toggle TeX)) + ("u" . ,(my/make-input-toggle my/symbols)))) + ;; C-c [[:alpha:]] is reserved for users - let's make good use of it. (global-set-key (kbd "C-c c") 'compile) -(global-set-key (kbd "C-c d t") 'toggle-truncate-lines) -(global-set-key (kbd "C-c d v") 'visual-line-mode) +(global-set-key (kbd "C-c d") 'my/display-map) (global-set-key (kbd "C-c e f") 'auto-fill-mode) -(global-set-key (kbd "C-c i t") (my/make-input-toggle TeX)) -(global-set-key (kbd "C-c i u") (my/make-input-toggle my/symbols)) +(global-set-key (kbd "C-c i") 'my/input-map) (global-set-key (kbd "C-c k f") 'my/kill-ring-filename) (global-set-key (kbd "C-c k |") 'my/kill-ring-pipe-region) (global-set-key (kbd "C-c k !") 'my/kill-ring-shell) |
