From 1180e5d652515591c7c94a78e401a3a7001d6aa0 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Fri, 18 Sep 2020 16:13:03 +0200 Subject: Define more prefix commands --- .emacs | 50 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 15 deletions(-) (limited to '.emacs') diff --git a/.emacs b/.emacs index 6eea940..773af2f 100644 --- a/.emacs +++ b/.emacs @@ -141,33 +141,53 @@ '(("t" toggle-truncate-lines) ("v" visual-line-mode))) +(my/define-prefix-command my/editing-map + "Keymap for toggling editing features." + '(("f" auto-fill-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)))) +(my/define-prefix-command my/kill-map + "Keymap for adding things to the kill ring." + '(("f" my/kill-ring-filename) + ("|" my/kill-ring-pipe-region) + ("!" my/kill-ring-shell))) + +(my/define-prefix-command my/manual-map + "Keymap for reading manuals." + '(("i" info-display-manual) + ("m" man))) + +(my/define-prefix-command my/project-map + "Keymap for project-related commands." + '(("g" my/magit-project))) + +(my/define-prefix-command my/whitespace-map + "Keymap for whitespace-related commands." + '(("c" whitespace-cleanup) + ("f" page-break-lines-mode) + ("m" whitespace-mode) + ("t" my/set-tab-width))) + ;; 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") 'my/display-map) -(global-set-key (kbd "C-c e f") 'auto-fill-mode) +(global-set-key (kbd "C-c e") 'my/editing-map) (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) -(global-set-key (kbd "C-c m i") 'info-display-manual) -(global-set-key (kbd "C-c m m") 'man) -(global-set-key (kbd "C-c p g") 'my/magit-project) -(global-set-key (kbd "C-c w c") 'whitespace-cleanup) -(global-set-key (kbd "C-c w f") 'page-break-lines-mode) -(global-set-key (kbd "C-c w m") 'whitespace-mode) -(global-set-key (kbd "C-c w t") 'my/set-tab-width) +(global-set-key (kbd "C-c k") 'my/kill-map) +(global-set-key (kbd "C-c m") 'my/manual-map) +(global-set-key (kbd "C-c p") 'my/project-map) +(global-set-key (kbd "C-c w") 'my/whitespace-map) (unless (>= emacs-major-version 28) - (global-set-key (kbd "C-c p c") (my/make-project-wide 'compile)) - (global-set-key (kbd "C-c p f") 'project-find-file) - (global-set-key (kbd "C-c p !") (my/make-project-wide 'shell-command)) - (global-set-key (kbd "C-c p &") (my/make-project-wide 'async-shell-command))) + (define-key my/project-map "c" (my/make-project-wide 'compile)) + (define-key my/project-map "f" 'project-find-file) + (define-key my/project-map "!" (my/make-project-wide 'shell-command)) + (define-key my/project-map "&" (my/make-project-wide 'async-shell-command))) (rg-enable-default-bindings) ; Uses the C-c s prefix. -- cgit v1.2.3