this post was submitted on 07 Apr 2024
10 points (81.2% liked)

Emacs

2201 readers
1 users here now

Our infinitely powerful editor.

founded 4 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] nmtake@lemm.ee 2 points 7 months ago (1 children)

How about incremental search (C-s) or some external packages like avy?

[–] AusatKeyboardPremi@lemmy.world 2 points 7 months ago* (last edited 7 months ago) (1 children)

I never really tried using incremental search (avy or vim-easymotion) for minute navigation. I will certainly try this approach without evil-collection, along with the package you suggested.

But I can already see it being slightly more time consuming as in my experience with vim-easymotion (and similar plugins like vim-sneak), the “jump” labels aren’t really generated in a logical manner such that I can effortlessly predict the label for the word I intend to bring the cursor/caret to. :-S

How’s your experience with using this for minute navigations?

[–] nmtake@lemm.ee 2 points 7 months ago

I stick with C-s (similar to vim's /) because of the exact reason you said, and I'm happy with C-s.

Please note that C-s <some characters> RET moves the cursor at the end of the target (/ moves it at the beginning). If you don't like the behavior, see this post (I use C-s ... C-r RET in that case).