vterm returns to where it was entering insert
This commit is contained in:
parent
23d6ec70db
commit
bfd6d5ede8
2 changed files with 19 additions and 0 deletions
|
@ -55,3 +55,15 @@ If prefix ARG is non-nil, cd into `default-directory' instead of project root."
|
||||||
default-directory
|
default-directory
|
||||||
(or (doom-project-root) default-directory))))
|
(or (doom-project-root) default-directory))))
|
||||||
(vterm)))
|
(vterm)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun +vterm-remember-insert-point-h ()
|
||||||
|
"Remember point when leaving insert mode."
|
||||||
|
(setq-local +vterm-insert-point (point)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun +vterm-goto-insert-point-h ()
|
||||||
|
"Go to the point we were at when we left insert mode."
|
||||||
|
(when +vterm-insert-point
|
||||||
|
(goto-char +vterm-insert-point)
|
||||||
|
(setq-local +vterm-insert-point nil)))
|
||||||
|
|
|
@ -15,6 +15,13 @@
|
||||||
|
|
||||||
(setq vterm-kill-buffer-on-exit t)
|
(setq vterm-kill-buffer-on-exit t)
|
||||||
|
|
||||||
|
(when (featurep! :editor evil)
|
||||||
|
(defvar +vterm-insert-point nil)
|
||||||
|
(add-hook 'vterm-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(add-hook 'evil-insert-state-exit-hook '+vterm-remember-insert-point-h nil t)
|
||||||
|
(add-hook 'evil-insert-state-entry-hook '+vterm-goto-insert-point-h nil t))))
|
||||||
|
|
||||||
(add-hook 'vterm-mode-hook #'doom-mark-buffer-as-real-h)
|
(add-hook 'vterm-mode-hook #'doom-mark-buffer-as-real-h)
|
||||||
;; Modeline serves no purpose in vterm
|
;; Modeline serves no purpose in vterm
|
||||||
(add-hook 'vterm-mode-hook #'hide-mode-line-mode))
|
(add-hook 'vterm-mode-hook #'hide-mode-line-mode))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue