From 43d981e90be9fc86ff05bdfc34b5b55d1cc33fbc Mon Sep 17 00:00:00 2001 From: dx Date: Mon, 20 Jul 2020 21:10:33 +0100 Subject: ~exported keymap settings to an elisp file Keymap is a section of my config I edit quite a lot, and the org mode format doesn't really fit with the way I edit it. Therefore I exported it to an elisp file where I can quickly edit bits and pieces without a lot of lag from explaining myself in org mode. --- Doom/.config/doom/+keymap.el | 50 ++++++++++++++++++++++++++++++++++++++++ Doom/.config/doom/org/config.org | 29 ++++------------------- 2 files changed, 54 insertions(+), 25 deletions(-) create mode 100644 Doom/.config/doom/+keymap.el diff --git a/Doom/.config/doom/+keymap.el b/Doom/.config/doom/+keymap.el new file mode 100644 index 0000000..6c7a638 --- /dev/null +++ b/Doom/.config/doom/+keymap.el @@ -0,0 +1,50 @@ +;;; ~/Dotfiles/Doom/.config/doom/elisp/+keymap.el -*- lexical-binding: t; -*- + +;;; Leader +(map! + :leader + ;; Single binds + "SPC" #'execute-extended-command + "!" #'async-shell-command + "T" #'eshell + "C" #'calc + "-" #'dired-jump + "_" #'dired-jump-other-window + "w" #'ace-window + + ;; Personal + (:prefix ("m" . "personal") + :desc "Open books" "b" #'(lambda () (interactive) (dired (concat org-directory "/Books"))); I like my books + :desc "Convert auto-fill" "f" #'dx:org/fill-to-long-lines + :desc "Change theme" "t" #'dx:themes/set-new-theme ; From my own collection + :desc "Generate template" "g" #'+gentemplate/generate-template) ; From my own collection + + ;; Projectile + (:after projectile + (:prefix "f" + "g" #'projectile-regenerate-tags + "p" #'(lambda () (interactive) (doom-project-find-file "~/Dotfiles"))) + ">" #'projectile-switch-to-buffer) + + ;; Search + (:prefix "s" + (:after counsel-etags + "t" #'counsel-etags-find-tag) + (:after counsel + "s" #'counsel-grep-or-swiper + "r" #'counsel-rg)) + + ;; Code + (:prefix "c" + "m" #'+make/run)) + +;;; Non leader +(map! + (:after evil + "TAB" #'evil-jump-item) + "M-v" #'dx:newline + "M-V" #'(lambda () (interactive) (dx:newline 1))) + +;;; Remaps +(define-key! + [remap compile] #'compile) diff --git a/Doom/.config/doom/org/config.org b/Doom/.config/doom/org/config.org index 9aa2912..8185895 100644 --- a/Doom/.config/doom/org/config.org +++ b/Doom/.config/doom/org/config.org @@ -325,30 +325,9 @@ Define a major-mode for sxhkd config files. "Simple mode for sxhkdrc files.") #+END_SRC * Key-map -General keymap -** Personal -- Prefix "SPC m" (rebound from local-leader) that will hold personal keybinds for functions that I like using -- Mostly opening directories I use a lot or doing custom stuff that I can't really put in anything in particular +General keymap, load the keymap elisp file. +This elisp file is basically two big maps, which are better explained in that document than this one. +Furthermore, debugging and working on that document is something I do so often, it's just better to do it in an Elisp file than a org file. #+BEGIN_SRC elisp -(map! - :leader - :prefix ("m" . "personal") ; Personal - :desc "Open books" "b" #'(lambda () (interactive) (dired (concat org-directory "/Books"))); I like my books - :desc "Convert auto-fill" "f" #'dx:org/fill-to-long-lines - :desc "Change theme" "t" #'dx:themes/set-new-theme ; From my own collection - :desc "Generate template" "g" #'+gentemplate/generate-template) ; From my own collection -#+END_SRC -** Remaps -Adding a new configuration option. -Remapping functions that other modules set to default functions. -#+BEGIN_SRC elisp -(define-key! - [remap compile] #'compile) -#+END_SRC -** Non-leader -Non-leader bindings for text-based commands. -#+BEGIN_SRC elisp -(map! - "M-v" #'dx:newline - "M-V" #'(lambda () (interactive) (dx:newline 1))) +(load (concat doom-private-dir "+keymap.el")) #+END_SRC -- cgit v1.2.3-13-gbd6f