2

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?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.