:PROPERTIES: :ID: 22a6cb0e-5466-4edf-b0da-a8b76d879cf9 :END: #+title: Keybindings #+filetags: emacs-load # SPDX-FileCopyrightText: 2022 Richard Brežák # # SPDX-License-Identifier: LGPL-3.0-or-later This file contains all keybindings of my Emacs configuration. I chose to put them all into one file for easy reference and also cross package consistency is easier to ensure when you have everything on one screen. First we need to define a new minor mode. #+begin_src emacs-lisp (define-minor-mode magic_rb/userbind-mode "Minor mode for user keybindings of Magic_RB." :lighter " userbind." :global t :keymap (make-sparse-keymap)) #+end_src Then we hook our minor mode on ~meow-mode-hook~, but only after ~meow-mode~ is loaded. #+begin_src emacs-lisp (add-hook 'after-init-hook 'magic_rb/userbind-mode) #+end_src #+begin_src emacs-lisp (general-def :keymaps '(magic_rb/userbind-mode-map) :prefix "C-c" "o f" 'org-roam-node-find "o i" 'org-roam-node-insert "o t" 'org-roam-tag-add "o T" 'org-roam-tag-remove "o r" 'org-roam-ref-add "o R" 'org-roam-ref-remove "o c" 'org-roam-capture "o b" 'org-roam-buffer-toggle "o a" 'org-agenda "j f" 'consult-fd "j r" 'consult-ripgrep "j l" 'consult-line "j b" 'consult-project-buffer "p v" 'projectile-run-vterm "p m" 'projectile-vc "p s" 'projectile-switch-project "r c" 'popper-cycle "r p" 'popper-toggle-latest "r t" 'popper-toggle-type "w t" 'windmove-left "w r" 'windmove-up "w n" 'windmove-down "w s" 'windmove-right "w a" 'ace-window "b i" 'indent-region "b c" 'comment-dwim "l l" 'lsp "l r" 'lsp-workspace-restart "l e" 'lsp-execute-code-action "l d" 'lsp-ui-doc-glance "e l" 'ement-list-rooms "e v" 'ement-view-room "e n" 'ement-notify-switch-to-notifications-buffer "e m" 'ement-notify-switch-to-mentions-buffer "M-c" 'tempel-insert :keymaps '(special-mode-map) :prefix "" "q" 'nil "k" 'quit-window) #+end_src