I use evil and evil-tabs with Emacs and am quite comfortable with my setup except a few times when I have multiple splits open in a tab, using :q
ends up closing all the splits in the window. In Vim it will close only the split I am currently in.
I think this part of evil-tabs.el
is responsible:
(evil-define-command evil-tab-sensitive-quit (&optional bang)
:repeat nil
(interactive "<!>")
(if (> (length (elscreen-get-screen-list)) 1)
(elscreen-kill)
(evil-quit bang)))
(evil-ex-define-cmd "q[uit]" 'evil-tab-sensitive-quit)
I tried doing the following in my .emacs
:
;;; `:quit` ends up quitting more than I intended. So rebind that.
(evil-ex-define-cmd "q[uit]" 'kill-buffer-and-window)
Also:
(eval-after-load 'evil-tabs
;; `:quit` ends up quitting more than I intended. So rebind that.
'(evil-ex-define-cmd "q[uit]" 'kill-buffer-and-window))
But :q
again closes the whole tab. Any clues on how to change or debug this?