diff --git a/modules/config/default/+bindings.el b/modules/config/default/+bindings.el index fcc53e2e3..a44d14db3 100644 --- a/modules/config/default/+bindings.el +++ b/modules/config/default/+bindings.el @@ -72,262 +72,6 @@ "C-x p" #'+popup/other - ;; --- ------------------------------------- - (:leader - :desc "Ex command" :nv ";" #'evil-ex - :desc "M-x" :nv ":" #'execute-extended-command - :desc "Pop up scratch buffer" :nv "x" #'doom/open-scratch-buffer - :desc "Org Capture" :nv "X" #'org-capture - - ;; Most commonly used - :desc "Find file in project" :n "SPC" #'projectile-find-file - :desc "Switch workspace buffer" :n "," #'persp-switch-to-buffer - :desc "Switch buffer" :n "<" #'switch-to-buffer - :desc "Browse files" :n "." #'find-file - :desc "Toggle last popup" :n "~" #'+popup/toggle - :desc "Eval expression" :n "`" #'eval-expression - :desc "Blink cursor line" :n "DEL" #'+nav-flash/blink-cursor - :desc "Jump to bookmark" :n "RET" #'bookmark-jump - - ;; C-u is used by evil - :desc "Universal argument" :n "u" #'universal-argument - :desc "window" :n "w" evil-window-map - - (:desc "previous..." :prefix "[" - :desc "Text size" :nv "[" #'text-scale-decrease - :desc "Buffer" :nv "b" #'previous-buffer - :desc "Diff Hunk" :nv "d" #'git-gutter:previous-hunk - :desc "Todo" :nv "t" #'hl-todo-previous - :desc "Error" :nv "e" #'previous-error - :desc "Workspace" :nv "w" #'+workspace/switch-left - :desc "Smart jump" :nv "h" #'smart-backward - :desc "Spelling error" :nv "s" #'evil-prev-flyspell-error - :desc "Spelling correction" :n "S" #'flyspell-correct-previous-word-generic) - - (:desc "next..." :prefix "]" - :desc "Text size" :nv "]" #'text-scale-increase - :desc "Buffer" :nv "b" #'next-buffer - :desc "Diff Hunk" :nv "d" #'git-gutter:next-hunk - :desc "Todo" :nv "t" #'hl-todo-next - :desc "Error" :nv "e" #'next-error - :desc "Workspace" :nv "w" #'+workspace/switch-right - :desc "Spelling error" :nv "s" #'evil-next-flyspell-error - :desc "Spelling correction" :n "S" #'flyspell-correct-word-generic) - - (:desc "search" :prefix "/" - :desc "Project" :nv "p" #'+ivy/project-search - :desc "Directory" :nv "d" (λ! (+ivy/project-search t)) - :desc "Buffer" :nv "b" #'swiper - :desc "Symbols" :nv "i" #'imenu - :desc "Symbols across buffers" :nv "I" #'imenu-anywhere - :desc "Online providers" :nv "o" #'+lookup/online-select) - - (:desc "workspace" :prefix "TAB" - :desc "Display tab bar" :n "TAB" #'+workspace/display - :desc "New workspace" :n "n" #'+workspace/new - :desc "Load workspace from file" :n "l" #'+workspace/load - :desc "Load last session" :n "L" (λ! (+workspace/load-session)) - :desc "Save workspace to file" :n "s" #'+workspace/save - :desc "Autosave current session" :n "S" #'+workspace/save-session - :desc "Switch workspace" :n "." #'+workspace/switch-to - :desc "Kill all buffers" :n "x" #'doom/kill-all-buffers - :desc "Delete session" :n "X" #'+workspace/kill-session - :desc "Delete this workspace" :n "d" #'+workspace/delete - :desc "Load session" :n "L" #'+workspace/load-session - :desc "Rename workspace" :n "r" #'+workspace/rename - :desc "Next workspace" :n "]" #'+workspace/switch-right - :desc "Previous workspace" :n "[" #'+workspace/switch-left - :desc "Switch to 1st workspace" :n "1" (λ! (+workspace/switch-to 0)) - :desc "Switch to 2nd workspace" :n "2" (λ! (+workspace/switch-to 1)) - :desc "Switch to 3rd workspace" :n "3" (λ! (+workspace/switch-to 2)) - :desc "Switch to 4th workspace" :n "4" (λ! (+workspace/switch-to 3)) - :desc "Switch to 5th workspace" :n "5" (λ! (+workspace/switch-to 4)) - :desc "Switch to 6th workspace" :n "6" (λ! (+workspace/switch-to 5)) - :desc "Switch to 7th workspace" :n "7" (λ! (+workspace/switch-to 6)) - :desc "Switch to 8th workspace" :n "8" (λ! (+workspace/switch-to 7)) - :desc "Switch to 9th workspace" :n "9" (λ! (+workspace/switch-to 8)) - :desc "Switch to last workspace" :n "0" #'+workspace/switch-to-last) - - (:desc "buffer" :prefix "b" - :desc "New empty buffer" :n "n" #'evil-buffer-new - :desc "Switch workspace buffer" :n "b" #'persp-switch-to-buffer - :desc "Switch buffer" :n "B" #'switch-to-buffer - :desc "Kill buffer" :n "k" #'kill-this-buffer - :desc "Kill other buffers" :n "o" #'doom/kill-other-buffers - :desc "Save buffer" :n "s" #'save-buffer - :desc "Pop scratch buffer" :n "x" #'doom/open-scratch-buffer - :desc "Bury buffer" :n "z" #'bury-buffer - :desc "Next buffer" :n "]" #'next-buffer - :desc "Previous buffer" :n "[" #'previous-buffer - :desc "Sudo edit this file" :n "S" #'doom/sudo-this-file) - - (:desc "code" :prefix "c" - :desc "List errors" :n "x" #'flycheck-list-errors - :desc "Evaluate buffer/region" :n "e" #'+eval/buffer - :v "e" #'+eval/region - :desc "Evaluate & replace region" :nv "E" #'+eval:replace-region - :desc "Build tasks" :nv "b" #'+eval/build - :desc "Jump to definition" :n "d" #'+lookup/definition - :desc "Jump to references" :n "D" #'+lookup/references - :desc "Open REPL" :n "r" #'+eval/open-repl - :v "r" #'+eval:repl) - - (:desc "file" :prefix "f" - :desc "Find file" :n "." #'find-file - :desc "Sudo find file" :n ">" #'doom/sudo-find-file - :desc "Find file in project" :n "/" #'projectile-find-file - :desc "Find file from here" :n "?" #'counsel-file-jump - :desc "Find other file" :n "a" #'projectile-find-other-file - :desc "Open project editorconfig" :n "c" #'editorconfig-find-current-editorconfig - :desc "Find directory" :n "d" #'dired - :desc "Find file in emacs.d" :n "e" #'+default/find-in-emacsd - :desc "Browse emacs.d" :n "E" #'+default/browse-emacsd - :desc "Recent files" :n "r" #'recentf-open-files - :desc "Recent project files" :n "R" #'projectile-recentf - :desc "Yank filename" :n "y" #'+default/yank-buffer-filename - :desc "Find file in private config" :n "p" #'+default/find-in-config - :desc "Browse private config" :n "P" #'+default/browse-config) - - (:desc "git" :prefix "g" - :desc "Magit blame" :n "b" #'magit-blame - :desc "Magit commit" :n "c" #'magit-commit - :desc "Magit clone" :n "C" #'+magit/clone - :desc "Magit dispatch" :n "d" #'magit-dispatch-popup - :desc "Magit find-file" :n "f" #'magit-find-file - :desc "Magit status" :n "g" #'magit-status - :desc "List gists" :n "G" #'+gist:list - :desc "Initialize repo" :n "i" #'magit-init - :desc "Browse issues tracker" :n "I" #'+vcs/git-browse-issues - :desc "Magit buffer log" :n "l" #'magit-log-buffer-file - :desc "List repositories" :n "L" #'magit-list-repositories - :desc "Browse remote" :n "o" #'+vcs/git-browse - :desc "Magit push popup" :n "p" #'magit-push-popup - :desc "Magit pull popup" :n "P" #'magit-pull-popup - :desc "Git revert hunk" :n "r" #'git-gutter:revert-hunk - :desc "Git revert file" :n "R" #'vc-revert - :desc "Git stage hunk" :n "s" #'git-gutter:stage-hunk - :desc "Git stage file" :n "S" #'magit-stage-file - :desc "Git time machine" :n "t" #'git-timemachine-toggle - :desc "Git unstage file" :n "U" #'magit-unstage-file - :desc "Next hunk" :nv "]" #'git-gutter:next-hunk - :desc "Previous hunk" :nv "[" #'git-gutter:previous-hunk) - - (:desc "help" :prefix "h" - :n "h" help-map - :desc "Apropos" :n "a" #'apropos - :desc "Open Bug Report" :n "b" #'doom/open-bug-report - :desc "Describe char" :n "c" #'describe-char - :desc "Describe DOOM module" :n "d" #'doom/describe-module - :desc "Open Doom manual" :n "D" #'doom//open-manual - :desc "Open vanilla sandbox" :n "E" #'doom/open-vanilla-sandbox - :desc "Describe function" :n "f" #'describe-function - :desc "Describe face" :n "F" #'describe-face - :desc "Info" :n "i" #'info-lookup-symbol - :desc "Describe key" :n "k" #'describe-key - :desc "Find documentation" :n "K" #'+lookup/documentation - :desc "Find library" :n "l" #'find-library - :desc "Command log" :n "L" #'global-command-log-mode - :desc "Toggle Emacs log" :n "m" #'view-echo-area-messages - :desc "Describe mode" :n "M" #'describe-mode - :desc "Toggle profiler" :n "p" #'doom/toggle-profiler - :desc "Reload theme" :n "r" #'doom//reload-theme - :desc "Reload private config" :n "R" #'doom//reload - :desc "Describe DOOM setting" :n "s" #'doom/describe-setting - :desc "Describe variable" :n "v" #'describe-variable - :desc "Print Doom version" :n "V" #'doom/version - :desc "Describe at point" :n "." #'helpful-at-point - :desc "What face" :n "'" #'doom/what-face - :desc "What minor modes" :n ";" #'doom/describe-active-minor-mode) - - (:desc "insert" :prefix "i" - :desc "From kill-ring" :nv "y" #'counsel-yank-pop - :desc "From evil registers" :nv "r" #'counsel-evil-registers - :desc "From snippet" :nv "s" #'yas-insert-snippet) - - (:desc "notes" :prefix "n" - :desc "Find file in notes" :n "n" #'+default/find-in-notes - :desc "Browse notes" :n "N" #'+default/browse-notes - :desc "Org capture" :n "x" #'org-capture) - - (:desc "open" :prefix "o" - :desc "Default browser" :n "b" #'browse-url-of-file - :desc "Debugger" :n "d" #'+debug/open - :desc "REPL" :n "r" #'+eval/open-repl - :v "r" #'+eval:repl - :desc "Neotree" :n "n" #'+neotree/open - :desc "Neotree: find file" :n "N" #'+neotree/find-this-file - :desc "Imenu sidebar" :nv "i" #'imenu-list-smart-toggle - :desc "Terminal" :n "t" #'+term/open - :desc "Terminal in popup" :n "T" #'+term/open-popup-in-project - :desc "Eshell" :n "e" #'+eshell/open - :desc "Eshell in popup" :n "E" #'+eshell/open-popup - - (:when (featurep! :collab floobits) - :desc "floobits" :prefix "f" - :n "c" #'floobits-clear-highlights - :n "f" #'floobits-follow-user - :n "j" #'floobits-join-workspace - :n "l" #'floobits-leave-workspace - :n "R" #'floobits-share-dir-private - :n "s" #'floobits-summon - :n "t" #'floobits-follow-mode-toggle - :n "U" #'floobits-share-dir-public) - - ;; macos - (:when IS-MAC - :desc "Reveal in Finder" :n "o" #'+macos/reveal-in-finder - :desc "Reveal project in Finder" :n "O" #'+macos/reveal-project-in-finder - :desc "Send to Transmit" :n "u" #'+macos/send-to-transmit - :desc "Send project to Transmit" :n "U" #'+macos/send-project-to-transmit - :desc "Send to Launchbar" :n "l" #'+macos/send-to-launchbar - :desc "Send project to Launchbar" :n "L" #'+macos/send-project-to-launchbar)) - - (:desc "project" :prefix "p" - :desc "Browse project" :n "." #'+default/browse-project - :desc "Find file in project" :n "/" #'projectile-find-file - :desc "Run cmd in project root" :nv "!" #'projectile-run-shell-command-in-root - :desc "Compile project" :n "c" #'projectile-compile-project - :desc "Find other file" :n "o" #'projectile-find-other-file - :desc "Switch project" :n "p" #'projectile-switch-project - :desc "Recent project files" :n "r" #'projectile-recentf - :desc "List project tasks" :n "t" #'+ivy/tasks - :desc "Invalidate cache" :n "x" #'projectile-invalidate-cache) - - (:desc "quit" :prefix "q" - :desc "Save and quit" :n "q" #'evil-save-and-quit - :desc "Quit (forget session)" :n "Q" #'+workspace/kill-session-and-quit - :desc "Restart Doom Emacs" :n "r" #'restart-emacs) - - (:when (featurep! :tools upload) - (:desc "remote" :prefix "r" - :desc "Upload local" :n "u" #'ssh-deploy-upload-handler - :desc "Upload local (force)" :n "U" #'ssh-deploy-upload-handler-forced - :desc "Download remote" :n "d" #'ssh-deploy-download-handler - :desc "Diff local & remote" :n "D" #'ssh-deploy-diff-handler - :desc "Browse remote files" :n "." #'ssh-deploy-browse-remote-handler - :desc "Detect remote changes" :n ">" #'ssh-deploy-remote-changes-handler)) - - (:when (featurep! :feature snippets) - (:desc "snippets" :prefix "s" - :desc "New snippet" :n "n" #'yas-new-snippet - :desc "Insert snippet" :nv "i" #'yas-insert-snippet - :desc "Find snippet" :n "s" #'+default/find-in-snippets - :desc "Find snippet for mode" :n "S" #'+default/browse-snippets - :desc "Find global snippet" :n "/" #'yas-visit-snippet-file)) - - (:desc "toggle" :prefix "t" - :desc "Flyspell" :n "s" #'flyspell-mode - :desc "Flycheck" :n "f" #'flycheck-mode - :desc "Line numbers" :n "l" #'doom/toggle-line-numbers - :desc "Frame fullscreen" :n "F" #'toggle-frame-fullscreen - :desc "Indent guides" :n "i" #'highlight-indentation-mode - :desc "Indent guides (column)" :n "I" #'highlight-indentation-current-column-mode - :desc "Impatient mode" :n "h" #'+impatient-mode/toggle - :desc "Big mode" :n "b" #'doom-big-font-mode - :desc "Evil goggles" :n "g" #'evil-goggles-mode - :desc "org-tree-slide mode" :n "p" #'+org-present/start)) - - ;; --- Personal vim-esque bindings ------------------ :nv "K" #'+lookup/documentation :n "zx" #'kill-this-buffer @@ -589,14 +333,12 @@ [right] #'forward-char [escape] #'helm-keyboard-quit [tab] #'helm-execute-persistent-action) - (:after helm-files (:map helm-generic-files-map :e "ESC" #'helm-keyboard-quit) (:map helm-find-files-map "C-w" #'helm-find-files-up-one-level "TAB" #'helm-execute-persistent-action)) - (:after helm-ag (:map helm-ag-map "" #'helm-ag-edit))) @@ -691,9 +433,10 @@ ;; --- Built-in plugins ----------------------------- - (:after comint - ;; TAB auto-completion in term buffers - :map comint-mode-map [tab] #'company-complete) + (:when (featurep! :completion company) + (:after comint + ;; TAB auto-completion in term buffers + :map comint-mode-map [tab] #'company-complete)) (:map* (help-mode-map helpful-mode-map) :n "o" #'ace-link-help @@ -707,6 +450,265 @@ [remap quit-window] #'kill-this-buffer)) +;; +;; +;; + +(map! :leader + :desc "Ex command" :nv ";" #'evil-ex + :desc "M-x" :nv ":" #'execute-extended-command + :desc "Pop up scratch buffer" :nv "x" #'doom/open-scratch-buffer + :desc "Org Capture" :nv "X" #'org-capture + + ;; Most commonly used + :desc "Find file in project" :n "SPC" #'projectile-find-file + :desc "Switch workspace buffer" :n "," #'persp-switch-to-buffer + :desc "Switch buffer" :n "<" #'switch-to-buffer + :desc "Browse files" :n "." #'find-file + :desc "Toggle last popup" :n "~" #'+popup/toggle + :desc "Eval expression" :n "`" #'eval-expression + :desc "Blink cursor line" :n "DEL" #'+nav-flash/blink-cursor + :desc "Jump to bookmark" :n "RET" #'bookmark-jump + + ;; C-u is used by evil + :desc "Universal argument" :n "u" #'universal-argument + :desc "window" :n "w" evil-window-map + + (:desc "previous..." :prefix "[" + :desc "Text size" :nv "[" #'text-scale-decrease + :desc "Buffer" :nv "b" #'previous-buffer + :desc "Diff Hunk" :nv "d" #'git-gutter:previous-hunk + :desc "Todo" :nv "t" #'hl-todo-previous + :desc "Error" :nv "e" #'previous-error + :desc "Workspace" :nv "w" #'+workspace/switch-left + :desc "Smart jump" :nv "h" #'smart-backward + :desc "Spelling error" :nv "s" #'evil-prev-flyspell-error + :desc "Spelling correction" :n "S" #'flyspell-correct-previous-word-generic) + + (:desc "next..." :prefix "]" + :desc "Text size" :nv "]" #'text-scale-increase + :desc "Buffer" :nv "b" #'next-buffer + :desc "Diff Hunk" :nv "d" #'git-gutter:next-hunk + :desc "Todo" :nv "t" #'hl-todo-next + :desc "Error" :nv "e" #'next-error + :desc "Workspace" :nv "w" #'+workspace/switch-right + :desc "Spelling error" :nv "s" #'evil-next-flyspell-error + :desc "Spelling correction" :n "S" #'flyspell-correct-word-generic) + + (:desc "search" :prefix "/" + :desc "Project" :nv "p" #'+ivy/project-search + :desc "Directory" :nv "d" (λ! (+ivy/project-search t)) + :desc "Buffer" :nv "b" #'swiper + :desc "Symbols" :nv "i" #'imenu + :desc "Symbols across buffers" :nv "I" #'imenu-anywhere + :desc "Online providers" :nv "o" #'+lookup/online-select) + + (:desc "workspace" :prefix "TAB" + :desc "Display tab bar" :n "TAB" #'+workspace/display + :desc "New workspace" :n "n" #'+workspace/new + :desc "Load workspace from file" :n "l" #'+workspace/load + :desc "Load last session" :n "L" (λ! (+workspace/load-session)) + :desc "Save workspace to file" :n "s" #'+workspace/save + :desc "Autosave current session" :n "S" #'+workspace/save-session + :desc "Switch workspace" :n "." #'+workspace/switch-to + :desc "Kill all buffers" :n "x" #'doom/kill-all-buffers + :desc "Delete session" :n "X" #'+workspace/kill-session + :desc "Delete this workspace" :n "d" #'+workspace/delete + :desc "Load session" :n "L" #'+workspace/load-session + :desc "Rename workspace" :n "r" #'+workspace/rename + :desc "Next workspace" :n "]" #'+workspace/switch-right + :desc "Previous workspace" :n "[" #'+workspace/switch-left + :desc "Switch to 1st workspace" :n "1" (λ! (+workspace/switch-to 0)) + :desc "Switch to 2nd workspace" :n "2" (λ! (+workspace/switch-to 1)) + :desc "Switch to 3rd workspace" :n "3" (λ! (+workspace/switch-to 2)) + :desc "Switch to 4th workspace" :n "4" (λ! (+workspace/switch-to 3)) + :desc "Switch to 5th workspace" :n "5" (λ! (+workspace/switch-to 4)) + :desc "Switch to 6th workspace" :n "6" (λ! (+workspace/switch-to 5)) + :desc "Switch to 7th workspace" :n "7" (λ! (+workspace/switch-to 6)) + :desc "Switch to 8th workspace" :n "8" (λ! (+workspace/switch-to 7)) + :desc "Switch to 9th workspace" :n "9" (λ! (+workspace/switch-to 8)) + :desc "Switch to last workspace" :n "0" #'+workspace/switch-to-last) + + (:desc "buffer" :prefix "b" + :desc "New empty buffer" :n "n" #'evil-buffer-new + :desc "Switch workspace buffer" :n "b" #'persp-switch-to-buffer + :desc "Switch buffer" :n "B" #'switch-to-buffer + :desc "Kill buffer" :n "k" #'kill-this-buffer + :desc "Kill other buffers" :n "o" #'doom/kill-other-buffers + :desc "Save buffer" :n "s" #'save-buffer + :desc "Pop scratch buffer" :n "x" #'doom/open-scratch-buffer + :desc "Bury buffer" :n "z" #'bury-buffer + :desc "Next buffer" :n "]" #'next-buffer + :desc "Previous buffer" :n "[" #'previous-buffer + :desc "Sudo edit this file" :n "S" #'doom/sudo-this-file) + + (:desc "code" :prefix "c" + :desc "List errors" :n "x" #'flycheck-list-errors + :desc "Evaluate buffer/region" :n "e" #'+eval/buffer + :v "e" #'+eval/region + :desc "Evaluate & replace region" :nv "E" #'+eval:replace-region + :desc "Build tasks" :nv "b" #'+eval/build + :desc "Jump to definition" :n "d" #'+lookup/definition + :desc "Jump to references" :n "D" #'+lookup/references + :desc "Open REPL" :n "r" #'+eval/open-repl + :v "r" #'+eval:repl) + + (:desc "file" :prefix "f" + :desc "Find file" :n "." #'find-file + :desc "Sudo find file" :n ">" #'doom/sudo-find-file + :desc "Find file in project" :n "/" #'projectile-find-file + :desc "Find file from here" :n "?" #'counsel-file-jump + :desc "Find other file" :n "a" #'projectile-find-other-file + :desc "Open project editorconfig" :n "c" #'editorconfig-find-current-editorconfig + :desc "Find directory" :n "d" #'dired + :desc "Find file in emacs.d" :n "e" #'+default/find-in-emacsd + :desc "Browse emacs.d" :n "E" #'+default/browse-emacsd + :desc "Recent files" :n "r" #'recentf-open-files + :desc "Recent project files" :n "R" #'projectile-recentf + :desc "Yank filename" :n "y" #'+default/yank-buffer-filename + :desc "Find file in private config" :n "p" #'+default/find-in-config + :desc "Browse private config" :n "P" #'+default/browse-config) + + (:desc "git" :prefix "g" + :desc "Magit blame" :n "b" #'magit-blame + :desc "Magit commit" :n "c" #'magit-commit + :desc "Magit clone" :n "C" #'+magit/clone + :desc "Magit dispatch" :n "d" #'magit-dispatch-popup + :desc "Magit find-file" :n "f" #'magit-find-file + :desc "Magit status" :n "g" #'magit-status + :desc "List gists" :n "G" #'+gist:list + :desc "Initialize repo" :n "i" #'magit-init + :desc "Browse issues tracker" :n "I" #'+vcs/git-browse-issues + :desc "Magit buffer log" :n "l" #'magit-log-buffer-file + :desc "List repositories" :n "L" #'magit-list-repositories + :desc "Browse remote" :n "o" #'+vcs/git-browse + :desc "Magit push popup" :n "p" #'magit-push-popup + :desc "Magit pull popup" :n "P" #'magit-pull-popup + :desc "Git revert hunk" :n "r" #'git-gutter:revert-hunk + :desc "Git revert file" :n "R" #'vc-revert + :desc "Git stage hunk" :n "s" #'git-gutter:stage-hunk + :desc "Git stage file" :n "S" #'magit-stage-file + :desc "Git time machine" :n "t" #'git-timemachine-toggle + :desc "Git unstage file" :n "U" #'magit-unstage-file + :desc "Next hunk" :nv "]" #'git-gutter:next-hunk + :desc "Previous hunk" :nv "[" #'git-gutter:previous-hunk) + + (:desc "help" :prefix "h" + :n "h" help-map + :desc "Apropos" :n "a" #'apropos + :desc "Open Bug Report" :n "b" #'doom/open-bug-report + :desc "Describe char" :n "c" #'describe-char + :desc "Describe DOOM module" :n "d" #'doom/describe-module + :desc "Open Doom manual" :n "D" #'doom//open-manual + :desc "Open vanilla sandbox" :n "E" #'doom/open-vanilla-sandbox + :desc "Describe function" :n "f" #'describe-function + :desc "Describe face" :n "F" #'describe-face + :desc "Info" :n "i" #'info-lookup-symbol + :desc "Describe key" :n "k" #'describe-key + :desc "Find documentation" :n "K" #'+lookup/documentation + :desc "Find library" :n "l" #'find-library + :desc "Command log" :n "L" #'global-command-log-mode + :desc "Toggle Emacs log" :n "m" #'view-echo-area-messages + :desc "Describe mode" :n "M" #'describe-mode + :desc "Toggle profiler" :n "p" #'doom/toggle-profiler + :desc "Reload theme" :n "r" #'doom//reload-theme + :desc "Reload private config" :n "R" #'doom//reload + :desc "Describe DOOM setting" :n "s" #'doom/describe-setting + :desc "Describe variable" :n "v" #'describe-variable + :desc "Print Doom version" :n "V" #'doom/version + :desc "Describe at point" :n "." #'helpful-at-point + :desc "What face" :n "'" #'doom/what-face + :desc "What minor modes" :n ";" #'doom/describe-active-minor-mode) + + (:desc "insert" :prefix "i" + :desc "From kill-ring" :nv "y" #'counsel-yank-pop + :desc "From evil registers" :nv "r" #'counsel-evil-registers + :desc "From snippet" :nv "s" #'yas-insert-snippet) + + (:desc "notes" :prefix "n" + :desc "Find file in notes" :n "n" #'+default/find-in-notes + :desc "Browse notes" :n "N" #'+default/browse-notes + :desc "Org capture" :n "x" #'org-capture) + + (:desc "open" :prefix "o" + :desc "Default browser" :n "b" #'browse-url-of-file + :desc "Debugger" :n "d" #'+debug/open + :desc "REPL" :n "r" #'+eval/open-repl + :v "r" #'+eval:repl + :desc "Neotree" :n "n" #'+neotree/open + :desc "Neotree: find file" :n "N" #'+neotree/find-this-file + :desc "Imenu sidebar" :nv "i" #'imenu-list-smart-toggle + :desc "Terminal" :n "t" #'+term/open + :desc "Terminal in popup" :n "T" #'+term/open-popup-in-project + :desc "Eshell" :n "e" #'+eshell/open + :desc "Eshell in popup" :n "E" #'+eshell/open-popup + + (:when (featurep! :collab floobits) + :desc "floobits" :prefix "f" + :n "c" #'floobits-clear-highlights + :n "f" #'floobits-follow-user + :n "j" #'floobits-join-workspace + :n "l" #'floobits-leave-workspace + :n "R" #'floobits-share-dir-private + :n "s" #'floobits-summon + :n "t" #'floobits-follow-mode-toggle + :n "U" #'floobits-share-dir-public) + + ;; macos + (:when IS-MAC + :desc "Reveal in Finder" :n "o" #'+macos/reveal-in-finder + :desc "Reveal project in Finder" :n "O" #'+macos/reveal-project-in-finder + :desc "Send to Transmit" :n "u" #'+macos/send-to-transmit + :desc "Send project to Transmit" :n "U" #'+macos/send-project-to-transmit + :desc "Send to Launchbar" :n "l" #'+macos/send-to-launchbar + :desc "Send project to Launchbar" :n "L" #'+macos/send-project-to-launchbar)) + + (:desc "project" :prefix "p" + :desc "Browse project" :n "." #'+default/browse-project + :desc "Find file in project" :n "/" #'projectile-find-file + :desc "Run cmd in project root" :nv "!" #'projectile-run-shell-command-in-root + :desc "Compile project" :n "c" #'projectile-compile-project + :desc "Find other file" :n "o" #'projectile-find-other-file + :desc "Switch project" :n "p" #'projectile-switch-project + :desc "Recent project files" :n "r" #'projectile-recentf + :desc "List project tasks" :n "t" #'+ivy/tasks + :desc "Invalidate cache" :n "x" #'projectile-invalidate-cache) + + (:desc "quit" :prefix "q" + :desc "Save and quit" :n "q" #'evil-save-and-quit + :desc "Quit (forget session)" :n "Q" #'+workspace/kill-session-and-quit + :desc "Restart Doom Emacs" :n "r" #'restart-emacs) + + (:when (featurep! :tools upload) + (:desc "remote" :prefix "r" + :desc "Upload local" :n "u" #'ssh-deploy-upload-handler + :desc "Upload local (force)" :n "U" #'ssh-deploy-upload-handler-forced + :desc "Download remote" :n "d" #'ssh-deploy-download-handler + :desc "Diff local & remote" :n "D" #'ssh-deploy-diff-handler + :desc "Browse remote files" :n "." #'ssh-deploy-browse-remote-handler + :desc "Detect remote changes" :n ">" #'ssh-deploy-remote-changes-handler)) + + (:when (featurep! :feature snippets) + (:desc "snippets" :prefix "s" + :desc "New snippet" :n "n" #'yas-new-snippet + :desc "Insert snippet" :nv "i" #'yas-insert-snippet + :desc "Find snippet" :n "s" #'+default/find-in-snippets + :desc "Find snippet for mode" :n "S" #'+default/browse-snippets + :desc "Find global snippet" :n "/" #'yas-visit-snippet-file)) + + (:desc "toggle" :prefix "t" + :desc "Flyspell" :n "s" #'flyspell-mode + :desc "Flycheck" :n "f" #'flycheck-mode + :desc "Line numbers" :n "l" #'doom/toggle-line-numbers + :desc "Frame fullscreen" :n "F" #'toggle-frame-fullscreen + :desc "Indent guides" :n "i" #'highlight-indentation-mode + :desc "Indent guides (column)" :n "I" #'highlight-indentation-current-column-mode + :desc "Impatient mode" :n "h" #'+impatient-mode/toggle + :desc "Big mode" :n "b" #'doom-big-font-mode + :desc "Evil goggles" :n "g" #'evil-goggles-mode + :desc "org-tree-slide mode" :n "p" #'+org-present/start)) + + ;; ;; Keybinding fixes ;;