As a long time Vimmer, I have recently started using Emacs out of sheer curiosity. I chose Doom Emacs as it has evil-mode enabled by default, and do not want to dive down the rabbit hole of configuring the editor from scratch (at least, not yet!).

After installing and enabling libvterm in Emacs, I am having a frustrating experience. I configured ZSH shell to use vi-mode keybindings which interferes with evil-mode whenever I press Esc or C-[.

After having searched a little, I came across a workaround to disable evil-mode when in vterm. But it is still not a smooth experience. For instance, when switching between buffers (C-w C-w).

I would like to know how others in the community tackled this problem. Is there a better solution to this problem? Or have you made peace with the aforementioned workaround? Or have you stopped using vterm entirely?

  • cabhan
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    8 months ago

    My basic approach is: Esc works like in normal evil-mode, and takes me into vterm-copy-mode as well. Without doing that, I have C-w C-w remapped to move to another window, so I can switch to another window for all the rest of my keybindings. And I have C-Esc mapped to send Esc into the terminal itself.

    I’m using evil-collection for the basic bindings, and I have my own custom stuff here: https://github.com/bricka/emacs.d/blob/main/init.el#L1054-L1073

    Edit: Forgot C-Esc