Rethink scratch buffer keybinds & commands

For non-evil users:

<leader> x    doom/open-scratch-buffer
<leader> X    doom/switch-to-scratch-buffer
<leader> p s  doom/open-project-scratch-buffer
<leader> p S  doom/switch-to-project-scratch-buffer

For evil users:

<leader> x    doom/open-scratch-buffer
<leader> b s  doom/open-scratch-buffer
<leader> b S  doom/switch-to-scratch-buffer
<leader> p s  doom/open-project-scratch-buffer
<leader> p S  doom/switch-to-project-scratch-buffer
This commit is contained in:
Henrik Lissner 2019-05-20 15:54:40 -04:00
parent 1df35c166a
commit 8f9056906d
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 21 additions and 8 deletions

View file

@ -113,6 +113,12 @@ If PROJECT-P is non-nil, open a persistent scratch buffer associated with the
(when project-p
(doom-project-name))))))
;;;###autoload
(defun doom/switch-to-scratch-buffer (&optional project-p)
"Like `doom/open-scratch-buffer', but switches to it in the current window."
(interactive)
(doom/open-scratch-buffer t))
;;;###autoload
(defun doom/open-project-scratch-buffer (&optional arg)
"Opens the (persistent) project scratch buffer in a popup.
@ -121,6 +127,13 @@ If passed the prefix ARG, switch to it in the current window."
(interactive "P")
(doom/open-scratch-buffer arg 'project))
;;;###autoload
(defun doom/switch-to-project-scratch-buffer ()
"Like `doom/open-project-scratch-buffer', but switches to it in the current
window."
(interactive)
(doom/open-project-scratch-buffer t))
;;;###autoload
(defun doom/revert-scratch-buffer ()
"Revert scratch buffer to last persistent state."

View file

@ -23,7 +23,7 @@
:desc "Find file in project" "C-f" #'projectile-find-file
:desc "Evaluate line/region" "e" #'+eval/line-or-region
:desc "Open scratch buffer" "x" #'doom/open-scratch-buffer
:desc "Open project scratch buffer" "X" #'doom/open-project-scratch-buffer
:desc "Open project scratch buffer" "X" #'doom/switch-to-scratch-buffer
(:when (featurep! :term term)
:desc "Terminal" "`" #'+term/open
@ -80,7 +80,8 @@
:desc "Find file in other project" "F" #'doom/find-file-in-other-project
:desc "Search project" "s" #'+default/search-project
:desc "List project tasks" "t" #'+default/project-tasks
:desc "Open project scratch buffer" "x" #'doom/open-project-scratch-buffer
:desc "Open project scratch buffer" "s" #'doom/open-project-scratch-buffer
:desc "Switch to project scratch buffer" "S" #'doom/switch-to-project-scratch-buffer
;; later expanded by projectile
(:prefix ("4" . "in other window"))
(:prefix ("5" . "in other frame")))

View file

@ -576,9 +576,8 @@
:desc "New empty buffer" "N" #'evil-buffer-new
:desc "Kill other buffers" "o" #'doom/kill-other-buffers
:desc "Previous buffer" "p" #'previous-buffer
:desc "Save buffer" "s" #'save-buffer
:desc "Sudo edit this file" "S" #'doom/sudo-this-file
:desc "Pop scratch buffer" "x" #'doom/open-scratch-buffer
:desc "Pop up scratch buffer" "s" #'doom/open-scratch-buffer
:desc "Switch to scratch buffer" "S" #'doom/switch-to-scratch-buffer
:desc "Bury buffer" "z" #'bury-buffer)
;;; <leader> c --- code
@ -677,12 +676,11 @@
:desc "Browse notes" "." #'+default/browse-notes
:desc "Search notes" "/" #'+default/org-notes-search
:desc "Search notes for symbol" "*" #'+default/search-notes-for-symbol-at-point
:desc "Org capture" "c" #'org-capture
:desc "Open deft" "d" #'deft
:desc "Search org agenda headlines" "h" #'+default/org-notes-headlines
:desc "Find file in notes" "n" #'+default/find-in-notes
:desc "Browse notes" "N" #'+default/browse-notes
:desc "Pop scratch buffer" "s" #'doom/open-scratch-buffer
:desc "Org capture" "x" #'org-capture
:desc "Org store link" "l" #'org-store-link)
;;; <leader> o --- open
@ -750,7 +748,8 @@
:desc "Find other file" "o" #'projectile-find-other-file
:desc "Switch project" "p" #'projectile-switch-project
:desc "Find recent project files" "r" #'projectile-recentf
:desc "Scratch buffer" "s" #'doom/open-project-scratch-buffer
:desc "Pop up scratch buffer" "s" #'doom/open-project-scratch-buffer
:desc "Switch to scratch buffer" "S" #'doom/switch-to-project-scratch-buffer
:desc "List project tasks" "t" #'+default/project-tasks
(:prefix ("x" . "terminal")
:desc "Open eshell in project" "e" #'projectile-run-eshell