editor/evil: bind C-w {S,V} to split-and-follow

This commit is contained in:
Henrik Lissner 2021-03-06 09:59:50 -05:00
parent 1e7fb8b915
commit 0917187f20
2 changed files with 19 additions and 0 deletions

View file

@ -92,6 +92,22 @@ the only window, use evil-window-move-* (e.g. `evil-window-move-far-left')."
"Swap windows downward." "Swap windows downward."
(interactive) (+evil--window-swap 'down)) (interactive) (+evil--window-swap 'down))
;;;###autoload
(defun +evil-window-split-and-follow ()
"Split current window horizontally, then focus new window.
If `evil-split-window-right' is non-nil, the new window isn't focused."
(interactive)
(let ((evil-vsplit-window-right (notevil-vsplit-window-right )))
(call-interactively #'evil-window-split)))
;;;###autoload
(defun +evil-window-vsplit-and-follow ()
"Split current window vertically, then focus new window.
If `evil-split-window-below' is non-nil, the new window isn't focused."
(interactive)
(let ((evil-split-window-below (not evil-split-window-below)))
(call-interactively #'evil-window-vsplit)))
;;;###autoload (autoload '+evil:apply-macro "editor/evil/autoload/evil" nil t) ;;;###autoload (autoload '+evil:apply-macro "editor/evil/autoload/evil" nil t)
(evil-define-operator +evil:apply-macro (beg end) (evil-define-operator +evil:apply-macro (beg end)
"Apply macro to each line." "Apply macro to each line."

View file

@ -530,6 +530,9 @@ directives. By default, this only recognizes C directives.")
"C-k" #'evil-window-up "C-k" #'evil-window-up
"C-l" #'evil-window-right "C-l" #'evil-window-right
"C-w" #'other-window "C-w" #'other-window
;; Extra split commands
"S" #'+evil-window-split-and-follow
"V" #'+evil-window-vsplit-and-follow
;; Swapping windows ;; Swapping windows
"H" #'+evil/window-move-left "H" #'+evil/window-move-left
"J" #'+evil/window-move-down "J" #'+evil/window-move-down