fixing meow and leader stuff

This commit is contained in:
Matt Nish-Lapidus 2025-02-26 22:11:09 -05:00
parent 80e2350519
commit 57d47702cd
13 changed files with 327 additions and 750 deletions

View file

@ -1,12 +1,48 @@
;;; bindings.el -*- lexical-binding: t; -*-
;; (cua-mode +1)
;; some helpful general keys
(map! :map 'override
"C-c" #'kill-ring-save
"C-v" #'yank
"C-S-V" #'consult-yank-from-kill-ring ; paste from previous copdied text
"C-x" #'kill-region
"C-S-a" #'mark-whole-buffer
"C-z" #'undo
"C-S-Z" #'undo-redo
"C-S-E" #'+vertico/embark-export-write
"C-w" #'kill-buffer
"C-f" #'+default/search-buffer
"C-g" #'vertico-repeat
"C-s" #'save-buffer
"C-;" #'comment-dwim
"C-/" #'comment-line
"C-M-<right>" #'centaur-tabs-forward
"C-M-<left>" #'centaur-tabs-backward
"C-M-<up>" #'next-window-any-frame
"C-M-<down>" #'previous-window-any-frame
"C-<up>" #'backward-paragraph
"C-<down>" #'forward-paragraph
"M-<up>" #'drag-stuff-up
"M-<down>" #'drag-stuff-down
"M-<left>" #'drag-stuff-left
"M-<right>" #'drag-stuff-right
"C-M-h" #'windmove-left
"C-M-j" #'windmove-up
"C-M-k" #'windmove-down
"C-M-l" #'windmove-right
"M-x" #'execute-extended-command
"<home>" #'beginning-of-buffer
"<end>" #'end-of-buffer
"C-S-<return>" #'split-window-vertically
"C-S-<return>" #'split-window-horizontally
"C-<mouse-1>" #'+fold/toggle
"C-<backspace>" #'sp-backward-delete-word
"C-<delete>" #'sp-delete-word)
(map! (:when (modulep! :ui popup)
"C-`" #'+popup/toggle
"C-~" #'+popup/raise)
(:when (modulep! :ui workspaces)
"C-t" #'+workspace/new
"C-S-T" #'+workspace/display
@ -21,9 +57,70 @@
"C-9" #'+workspace/switch-to-8
"C-0" #'+workspace/switch-to-final))
;; mu4e bindings
(map! :map (list mu4e-main-mode-map mu4e-compose-mode-map mu4e-headers-mode-map mu4e-view-mode-map)
:localleader
:desc "Compose" "c" #'compose-mail
:desc "Search (consult)" "SPC" #'consult-mu
:desc "Search (mu4e)" "f" #'mu4e-search
:desc "Update All" "u" #'mu4e-update-mail-and-index
:desc "Bookmarks" "b" #'mu4e-search-bookmark
:desc "Jump to Maildir" "j" #'mu4e-search-maildir
:desc "Switch Context" ";" #'mu4e-context-switch
:desc "Toggle Overview" "o" #'mu4e-overview)
(map! :map (list mu4e-view-mode-map mu4e-headers-mode-map)
:localleader
:desc "View Action" "v" #'mu4e-view-action
:desc "Reply All (Wide)" "w" #'mu4e-compose-wide-reply
:desc "Reply" "r" #'mu4e-compose-reply
:desc "Save Attachments" "a" #'mu4e-view-save-attachments
:desc "Save All Attachments" "A" #'mu4e-view-save-all-attachments)
(map! :map mu4e-main-mode-map
"u" #'mu4e-update-mail-and-index)
(map! :map mu4e-headers-mode-map
"v" #'mu4e-view-action
:localleader
:desc "Sort Order" "s" #'mu4e-search-change-sorting)
(map! :map mu4e-compose-mode-map
:localleader
:desc "Send message and exit" "s" #'message-send-and-exit)
;; make esc close completion from corfu
(map! :map corfu-map [escape] 'corfu-quit)
;; dired
(map! :map dired-mode-map
"\\" #'dired-up-directory)
;; obsidian
(map! :leader
:desc "Obsidian Quick Capture"
"X" #'mnl/obsidian-capture)
(map! :leader
:prefix "n"
:desc "Jump" "f" #'obsidian-jump
:desc "Search" "s" #'obsidian-search
:desc "Tag Search" "m" #'obsidian-tag-find
:desc "Daily Note" "n" #'mnl/obsidian-capture
:desc "Insert Wikilink" "w" #'obsidian-insert-wikilink
:desc "Backlink Jump" "j" #'obsidian-backlink-jump
:desc "Follow Link" "l" #'obsidian-follow-link-at-point
:desc "Update" "u" #'obsidian-update
"a" nil
"d" nil)
;; left option is meta, right option is option
(setq ns-alternate-modifier 'meta)
(setq ns-right-alternate-modifier 'none)
(map! :leader
"`" nil
(:prefix ("m" . "<localleader>")) ; bound locally
;; (:prefix ("m" . "<localleader>")) ; bound locally
(:prefix-map ("!" . "checkers")) ; bound by flycheck
:desc "M-x" ":" #'execute-extended-command
@ -60,8 +157,9 @@
:desc "delete current window" "d" #'delete-window
:desc "delete other windows" "o" #'delete-other-windows)
;;; <leader> b --- buffer
(:prefix-map ("b" . "buffer")
;; <leader> b --- buffer
(:prefix-map
("b" . "buffer")
:desc "Toggle narrowing" "-" #'doom/toggle-narrow-buffer
:desc "Previous buffer" "[" #'previous-buffer
:desc "Next buffer" "]" #'next-buffer
@ -113,7 +211,8 @@
:desc "Switch to 9th workspace" "9" #'+workspace/switch-to-8
:desc "Switch to final workspace" "0" #'+workspace/switch-to-final)
(:prefix-map ("f" . "file")
(:prefix-map
("f" . "file")
:desc "Open project editorconfig" "c" #'editorconfig-find-current-editorconfig
:desc "Copy this file" "C" #'doom/copy-this-file
:desc "Find directory" "d" #'+default/dired
@ -133,7 +232,8 @@
:desc "Yank file path" "y" #'+default/yank-buffer-path
:desc "Yank file path from project" "Y" #'+default/yank-buffer-path-relative-to-project)
(:prefix-map ("p" . "project")
(:prefix-map
("p" . "project")
:desc "Browse project" "." #'+default/browse-project
:desc "Browse other project" ">" #'doom/browse-in-other-project
:desc "Run cmd in project root" "!" #'projectile-run-shell-command-in-root
@ -161,20 +261,17 @@
:desc "Switch to scratch buffer" "X" #'doom/switch-to-project-scratch-buffer
:desc "Justfile Commands" "j" #'justl)
;;; <leader> i --- insert
(:prefix-map ("i" . "insert")
(:when (> emacs-major-version 28)
:desc "Emoji" "e" #'emoji-search)
(:when (modulep! :ui emoji)
:desc "Emoji" "e" #'emojify-insert-emoji)
:desc "Current file name" "f" #'+default/insert-file-path
:desc "Current file path" "F" (cmd!! #'+default/insert-file-path t)
:desc "Snippet" "s" #'+default/insert-snippet
:desc "Unicode" "u" #'insert-char
:desc "From clipboard" "y" #'+default/yank-pop)
;; <leader> i --- insert
(:prefix-map
("i" . "insert")
:desc "Emoji" "e" #'emoji-search
:desc "Current file name" "f" #'+default/insert-file-path
:desc "Current file path" "F" (cmd!! #'+default/insert-file-path t)
:desc "Snippet" "s" #'+default/insert-snippet
:desc "Unicode" "u" #'insert-char
:desc "From clipboard" "y" #'+default/yank-pop)
;;; <leader> s --- search
;; <leader> s --- search
(:prefix-map ("s" . "search")
:desc "Search buffer" "b" #'+default/search-buffer
:desc "Search all open buffers" "B" (cmd!! #'consult-line-multi 'all-buffers)
@ -196,7 +293,7 @@
:desc "Dictionary" "t" #'+lookup/dictionary-definition
:desc "Thesaurus" "T" #'+lookup/synonyms)
;;; <leader> t --- toggle
;;<leader> t --- toggle
(:prefix-map ("t" . "toggle")
:desc "Artist mode" "a" #'artist-mode
:desc "Follow mode" "x" #'follow-mode
@ -223,7 +320,6 @@
:desc "Soft line wrapping" "w" #'+word-wrap-mode)
:desc "PlatformIO Mode Toggle" "o" #'platformio-mode)
(:prefix-map ("o" . "open")
:desc "Process List" "a" #'list-processes
:desc "Start debugger" "d" #'+debugger/start
@ -296,11 +392,11 @@
:desc "Browse issues" "I" #'forge-browse-issues
:desc "Browse pull requests" "P" #'forge-browse-pullreqs)
(:prefix ("l" . "list")
:desc "List repositories" "r" #'magit-list-repositories
:desc "List submodules" "s" #'magit-list-submodules
:desc "List issues" "i" #'forge-list-issues
:desc "List pull requests" "p" #'forge-list-pullreqs
:desc "List notifications" "n" #'forge-list-notifications)
:desc "List repositories" "r" #'magit-list-repositories
:desc "List submodules" "s" #'magit-list-submodules
:desc "List issues" "i" #'forge-list-issues
:desc "List pull requests" "p" #'forge-list-pullreqs
:desc "List notifications" "n" #'forge-list-notifications)
(:prefix ("c" . "create")
:desc "Initialize repo" "r" #'magit-init
:desc "Clone repo" "R" #'magit-clone
@ -311,58 +407,59 @@
:desc "Pull request" "p" #'forge-create-pullreq)))
;; code map
(:prefix-map ("c" . "code")
(:when (and (modulep! :tools lsp) (not (modulep! :tools lsp +eglot)))
:desc "LSP Execute code action" "a" #'lsp-execute-code-action
:desc "LSP Organize imports" "o" #'lsp-organize-imports
:desc "Jump to symbol in current workspace" "j" #'consult-lsp-symbols
:desc "Jump to symbol in any workspace" "J" (cmd!! #'consult-lsp-symbols 'all-workspaces)
(:when (modulep! :ui treemacs +lsp)
:desc "Errors list" "X" #'lsp-treemacs-errors-list
:desc "Incoming call hierarchy" "y" #'lsp-treemacs-call-hierarchy
:desc "Outgoing call hierarchy" "Y" (cmd!! #'lsp-treemacs-call-hierarchy t)
:desc "References tree" "R" (cmd!! #'lsp-treemacs-references t)
:desc "Symbols" "S" #'lsp-treemacs-symbols)
:desc "LSP" "l" #'+default/lsp-command-map
:desc "LSP Rename" "r" #'lsp-rename)
(:when (modulep! :tools lsp +eglot)
:desc "LSP Execute code action" "a" #'eglot-code-actions
:desc "LSP Rename" "r" #'eglot-rename
:desc "LSP Find declaration" "j" #'eglot-find-declaration
(:when (modulep! :completion vertico)
:desc "Jump to symbol in current workspace" "j" #'consult-eglot-symbols))
:desc "Compile" "c" #'compile
:desc "Recompile" "C" #'recompile
:desc "Jump to definition" "d" #'+lookup/definition
:desc "Jump to references" "D" #'+lookup/references
:desc "Evaluate buffer/region" "e" #'+eval/buffer-or-region
:desc "Evaluate & replace region" "E" #'+eval:replace-region
:desc "Toggle Fold" "z" #'+fold/toggle
:desc "Format buffer/region" "f" #'+format/region-or-buffer
:desc "Find implementations" "i" #'+lookup/implementations
:desc "Jump to documentation" "k" #'+lookup/documentation
:desc "Send to repl" "s" #'+eval/send-region-to-repl
:desc "Find type definition" "t" #'+lookup/type-definition
:desc "Delete trailing whitespace" "w" #'delete-trailing-whitespace
:desc "Delete trailing newlines" "W" #'doom/delete-trailing-newlines
:desc "List errors" "x" #'+default/diagnostics
:desc "Spaces -> Tabs" "<tab>" #'tabify
:desc "Tabs -> Spaces" "<S-tab>" #'untabify
:desc "Diff buffer and file" "b" #'diff-buffer-with-file
(:prefix ("-" . "String Case")
:desc "cycle" "~" #'string-inflection-all-cycle
:desc "CamelCase" "c" #'string-inflection-camelcase
:desc "downCase" "d" #'string-inflection-lower-camelcase
:desc "kebab-case" "-" #'string-inflection-kebab-case
:desc "under_score" "_" #'string-inflection-underscore
:desc "Upper_Score" "u" #'string-inflection-capital-underscore
:desc "UP_CASE" "U" #'string-inflection-upcase
:desc "ALL CAPS" "A" #'upcase-dwim
:desc "all lower" "a" #'downcase-dwim
:desc "Capitalize Sentence" "s" #'capitalize-dwim))
(:prefix-map
("c" . "code")
(:when (and (modulep! :tools lsp) (not (modulep! :tools lsp +eglot)))
:desc "LSP Execute code action" "a" #'lsp-execute-code-action
:desc "LSP Organize imports" "o" #'lsp-organize-imports
:desc "Jump to symbol in current workspace" "j" #'consult-lsp-symbols
:desc "Jump to symbol in any workspace" "J" (cmd!! #'consult-lsp-symbols 'all-workspaces)
(:when (modulep! :ui treemacs +lsp)
:desc "Errors list" "X" #'lsp-treemacs-errors-list
:desc "Incoming call hierarchy" "y" #'lsp-treemacs-call-hierarchy
:desc "Outgoing call hierarchy" "Y" (cmd!! #'lsp-treemacs-call-hierarchy t)
:desc "References tree" "R" (cmd!! #'lsp-treemacs-references t)
:desc "Symbols" "S" #'lsp-treemacs-symbols)
:desc "LSP" "l" #'+default/lsp-command-map
:desc "LSP Rename" "r" #'lsp-rename)
(:when (modulep! :tools lsp +eglot)
:desc "LSP Execute code action" "a" #'eglot-code-actions
:desc "LSP Rename" "r" #'eglot-rename
:desc "LSP Find declaration" "j" #'eglot-find-declaration
(:when (modulep! :completion vertico)
:desc "Jump to symbol in current workspace" "j" #'consult-eglot-symbols))
:desc "Compile" "c" #'compile
:desc "Recompile" "C" #'recompile
:desc "Jump to definition" "d" #'+lookup/definition
:desc "Jump to references" "D" #'+lookup/references
:desc "Evaluate buffer/region" "e" #'+eval/buffer-or-region
:desc "Evaluate & replace region" "E" #'+eval:replace-region
:desc "Toggle Fold" "z" #'+fold/toggle
:desc "Format buffer/region" "f" #'+format/region-or-buffer
:desc "Find implementations" "i" #'+lookup/implementations
:desc "Jump to documentation" "k" #'+lookup/documentation
:desc "Send to repl" "s" #'+eval/send-region-to-repl
:desc "Find type definition" "t" #'+lookup/type-definition
:desc "Delete trailing whitespace" "w" #'delete-trailing-whitespace
:desc "Delete trailing newlines" "W" #'doom/delete-trailing-newlines
:desc "List errors" "x" #'+default/diagnostics
:desc "Spaces -> Tabs" "<tab>" #'tabify
:desc "Tabs -> Spaces" "<S-tab>" #'untabify
:desc "Diff buffer and file" "b" #'diff-buffer-with-file
(:prefix ("-" . "String Case")
:desc "cycle" "~" #'string-inflection-all-cycle
:desc "CamelCase" "c" #'string-inflection-camelcase
:desc "downCase" "d" #'string-inflection-lower-camelcase
:desc "kebab-case" "-" #'string-inflection-kebab-case
:desc "under_score" "_" #'string-inflection-underscore
:desc "Upper_Score" "u" #'string-inflection-capital-underscore
:desc "UP_CASE" "U" #'string-inflection-upcase
:desc "ALL CAPS" "A" #'upcase-dwim
:desc "all lower" "a" #'downcase-dwim
:desc "Capitalize Sentence" "s" #'capitalize-dwim))
;;; <leader> q --- quit/restart
;; <leader> q --- quit/restart
(:prefix-map ("q" . "quit/session")
:desc "Restart emacs server" "d" #'+default/restart-server
:desc "Delete frame" "f" #'delete-frame
@ -376,260 +473,3 @@
:desc "Restore session from file" "L" #'doom/load-session
:desc "Restart & restore Emacs" "r" #'doom/restart-and-restore
:desc "Restart Emacs" "R" #'doom/restart))
;; some helpful general keys
(map! :map 'override
"C-c" #'kill-ring-save
"C-v" #'yank
"C-S-V" #'consult-yank-from-kill-ring ; paste from previous copdied text
"C-x" #'kill-region
"C-S-a" #'mark-whole-buffer
"C-z" #'undo
"C-S-Z" #'undo-redo
"C-S-E" #'+vertico/embark-export-write
"C-w" #'kill-buffer
"C-f" #'+default/search-buffer
"C-g" #'vertico-repeat
"C-s" #'save-buffer
"C-;" #'comment-dwim
"C-/" #'comment-line
"C-M-<up>" #'next-window-any-frame
"C-M-<down>" #'previous-window-any-frame
"C-<up>" #'backward-paragraph
"C-<down>" #'forward-paragraph
"M-<up>" #'drag-stuff-up
"M-<down>" #'drag-stuff-down
"M-<left>" #'drag-stuff-left
"M-<right>" #'drag-stuff-right
"C-M-h" #'windmove-left
"C-M-j" #'windmove-up
"C-M-k" #'windmove-down
"C-M-l" #'windmove-right
"M-x" #'execute-extended-command
"<home>" #'beginning-of-buffer
"<end>" #'end-of-buffer
"C-<return>" #'split-window-vertically
"C-S-<return>" #'split-window-horizontally
"C-M-S-s-<mouse-1>" #'+fold/toggle
"C-<backspace>" #'sp-backward-delete-word
"C-<delete>" #'sp-delete-word)
(map! :localleader
:map lisp-mode-map
:desc "Load cl-patterns helpers" "p" #'cl-patterns-helpers-load)
(map! :map smartparens-mode-map
"M-[" #'sp-forward-barf-sexp
"M-]" #'sp-forward-slurp-sexp
"M-{" #'sp-backward-slurp-sexp
"M-}" #'sp-backward-barf-sexp
"M-)" #'sp-split-sexp
"M-(" #'sp-splice-sexp
"C-(" #'sp-wrap-round
"C-)" #'sp-unwrap-sexp
"C-[" #'sp-wrap-square
"C-]" #'sp-unwrap-sexp
"C-{" #'sp-wrap-curly
"C-}" #'sp-unwrap-sexp)
;; platform io local leader bindings
(map! :map platformio-mode-map
:localleader
"b" #'platformio-build
"u" #'platformio-upload
"B" #'platformio-boards
"c" #'platformio-clean
"m" #'platformio-device-monitor)
(defun sclang-show-scope ()
(interactive)
(sclang-eval-expression "s.scope"))
(defun sclang-show-levels ()
(interactive)
(sclang-eval-expression "s.levels"))
(defun sclang-show-gui ()
(interactive)
(sclang-eval-expression "s.makeGui"))
(map! :map sclang-mode-map
"M-C-x" 'sclang-eval-region-or-line
"M-C-z" 'sclang-server-free-all
:localleader
"b" #'sclang-server-boot
"." #'sclang-main-stop
"l" #'sclang-show-levels
"R" #'sclang-recompile
"s" #'sclang-show-scope
"g" #'sclang-show-gui
"k" #'sclang-kill
"r" #'sclang-server-reboot
"e" #'sclang-eval-region-or-line
"h" #'sclang-find-help
"H" #'sclang-open-help-gui
"s" #'sclang-start)
(map! :map centaur-tabs-mode-map
"C-M-<right>" 'centaur-tabs-forward
"C-M-<left>" 'centaur-tabs-backward)
(map! :map web-mode-map
"C-S-<" #'web-mode-element-wrap)
(map! :map chezmoi-mode-map
:localleader
"f" #'chezmoi-find
"w" #'chezmoi-write)
;; mu4e bindings
(map! :map (list mu4e-main-mode-map mu4e-compose-mode-map mu4e-headers-mode-map mu4e-view-mode-map)
:localleader
:desc "Compose" "c" #'compose-mail
:desc "Search (consult)" "SPC" #'consult-mu
:desc "Search (mu4e)" "f" #'mu4e-search
:desc "Update All" "u" #'mu4e-update-mail-and-index
:desc "Bookmarks" "b" #'mu4e-search-bookmark
:desc "Jump to Maildir" "j" #'mu4e-search-maildir
:desc "Switch Context" ";" #'mu4e-context-switch
:desc "Toggle Overview" "o" #'mu4e-overview)
(map! :map (list mu4e-view-mode-map mu4e-headers-mode-map)
:localleader
:desc "View Action" "v" #'mu4e-view-action
:desc "Reply All (Wide)" "w" #'mu4e-compose-wide-reply
:desc "Reply" "r" #'mu4e-compose-reply
:desc "Save Attachments" "a" #'mu4e-view-save-attachments
:desc "Save All Attachments" "A" #'mu4e-view-save-all-attachments)
(map! :map mu4e-main-mode-map
"u" #'mu4e-update-mail-and-index)
(map! :map mu4e-headers-mode-map
"v" #'mu4e-view-action
:localleader
:desc "Sort Order" "s" #'mu4e-search-change-sorting)
(map! :map mu4e-compose-mode-map
:localleader
:desc "Send message and exit" "s" #'message-send-and-exit)
;; dired
(map! :map dired-mode-map
"\\" #'dired-up-directory)
;; obsidian
(map! :leader
:desc "Obsidian Quick Capture"
"X" #'mnl/obsidian-capture)
(map! :leader
:prefix "n"
:desc "Jump" "f" #'obsidian-jump
:desc "Search" "s" #'obsidian-search
:desc "Tag Search" "m" #'obsidian-tag-find
:desc "Daily Note" "n" #'mnl/obsidian-capture
:desc "Insert Wikilink" "w" #'obsidian-insert-wikilink
:desc "Backlink Jump" "j" #'obsidian-backlink-jump
:desc "Follow Link" "l" #'obsidian-follow-link-at-point
:desc "Update" "u" #'obsidian-update
"a" nil
"d" nil)
;; left option is meta, right option is option
(setq ns-alternate-modifier 'meta)
(setq ns-right-alternate-modifier 'none)
;; leader key fix for meow from lemon-breezes pr
(after! which-key
(let ((prefix-re (regexp-opt (list doom-leader-key doom-leader-alt-key))))
(cl-pushnew `((,(format "\\`\\(?:C-w\\|%s w\\) m\\'" prefix-re))
nil . "maximize")
which-key-replacement-alist)))
;; make esc close completion from corfu
(map! :map corfu-map [escape] 'corfu-quit)
(map! :map sly-mrepl-mode-map
"<up>" #'sly-mrepl-previous-input-or-button
"<down>" #'sly-mrepl-next-input-or-button)
(map! :map vterm-mode-map
"<up>" #'vterm--self-insert
"<up>" #'vterm--self-insert)
;; main meow normal mode keymap
(map! :map meow-normal-state-keymap
"<" #'meow-beginning-of-thing
">" #'meow-end-of-thing
"a" #'meow-append
"A" #'meow-open-below
"b" #'meow-back-word
"B" #'meow-back-symbol
"c" #'meow-change
"d" #'meow-delete
"D" #'meow-backward-delete
"e" #'meow-next-word
"E" #'meow-next-symbol
"f" #'meow-find
"g" #'meow-cancel-selection
"G" #'meow-grab
"h" #'meow-left
"H" #'meow-left-expand
"i" #'meow-insert
"I" #'meow-open-above
"j" #'meow-next
"J" #'meow-next-expand
"k" #'meow-prev
"K" #'meow-prev-expand
"l" #'meow-right
"L" #'meow-right-expand
"m" #'meow-join
"n" #'meow-search
"o" #'meow-block
"O" #'meow-to-block
"p" #'meow-yank
"q" #'meow-quit
;; "Q" #'meow-goto-line
"r" #'meow-replace
"R" #'meow-swap-grab
"s" #'meow-kill
"t" #'meow-till
"u" #'meow-undo
"U" #'meow-undo-in-selection
"v" #'meow-visit
"w" #'meow-mark-word
"W" #'meow-mark-symbol
"x" #'meow-line
"X" #'consult-goto-line
"y" #'meow-save
"Y" #'meow-sync-grab
"z" #'meow-pop-selection
"0" #'meow-expand-0
"1" #'meow-expand-1
"2" #'meow-expand-2
"3" #'meow-expand-3
"4" #'meow-expand-4
"5" #'meow-expand-5
"6" #'meow-expand-6
"7" #'meow-expand-7
"8" #'meow-expand-8
"9" #'meow-expand-9
"-" #'negative-argument
";" #'meow-reverse
"," #'meow-inner-of-thing
"." #'meow-bounds-of-thing
"/" #'bookmark-in-project-jump
"?" #'bookmark-jump
"÷" #'bookmark-delete
"#" #'string-inflection-all-cycle
"'" #'repeat
"=" #'meow--eval-sexp
"[" #'sp-backward-sexp
"]" #'sp-forward-sexp
"{" #'sp-backward-up-sexp
"}" #'sp-down-sexp
"!" #'meow-start-kmacro-or-insert-counter
"@" #'meow-end-or-call-kmacro
"<escape>" #'corfu-quit)