reddit / emacs
Why not use Evil in 2022?
WorldsEndless · 2022-04-07 16:02
This is an honest question. Evil for vim-style key bindings seems to be dominantly popular now, among recommendations, preloaded distributions, and everywhere. What are compelling reasons NOT to use Evil in 2022?
I actually have never tried it myself, but now isn't for a convincing reason -- I just built my muscle memory on vanilla bindings and a few years ago added God Mode and helpers like Transient, so my reasons are more momentum than actual recommendable wisdom.
Is there a reason users, new and experienced, should decline to use Evil?
**EDIT**
I accidentally sparked the Holy War, which was not my intention. I should have explained where I was coming from with this. I have the opportunity to onboard college students to Emacs for work. It has been tempting to use one of the big dawg packages out there, Doom or Spacemacs, and I know that both of them use Evil. I have also had recommendations to use Evil pop up in discussions about ergonomics and my Planck keyboard. That bulk of recommendations are where the "dominant popularity" view came from.
Perhaps I should have rephrased my question as to whether I should have my new developers use Evil bindings (a la one of the popular packages).
Thanks for the bulk of the answers here; most have been insightful and useful data points.
xircon · 2022-04-07 16:09
If you are a fan of modal editors, go for it. I personally cannot use them, I would end up jumping on my laptop (repeatedly).
00-11 · 2022-04-07 16:34
This phenomenon:
> dominantly popular now
Has never held any attraction, for me.
All three of those words are telltale symptoms of the same disease, IMO.
(Oh, and then there's "`seems to be`".)
BunnyLushington · 2022-04-07 16:43
Um, 30 years of muscle memory? A dislike of modal editing? A higher barrier to entry into the Emacs ecosystem? I suspect Evil is not "dominantly popular" (i.e., that more people are using Evil than not).
rfeynman42 · 2022-04-07 16:53
I didn't start using Emacs just for sheer editing speed but for its extensibility. Emacs keybinds are fast enough for me, and switching to modal editing is a hassle.
I also think Evil being so popular recently is more a symptom of *Vim* being popular and a good portion of Emacs' incoming audience being ex-Vimmers.
rfeynman42 · 2022-04-07 16:54
I didn't start using Emacs just for sheer editing speed but for its extensibility. Emacs keybinds are fast enough for me, and switching to modal editing is a hassle.
I also think Evil being so popular recently is more a symptom of *Vim* being popular and a good portion of Emacs' incoming audience being ex-Vimmers.
ramin-honary-xc · 2022-04-07 17:01
Personally, I believe it is just better to use the default user interface of whatever app you use. I won't install Vi bindings on VSCode either. Otherwise, I have nothing against Evil or Doom Emacs.
Not-on-a-Tuesday · 2022-04-07 17:03
I have to agree with this statement.
I moved from Vim (Neovim to be precise) to Emacs.
I also maintain multiple servers (my own self hosting) and I use Vim on those.
Frankly, the idea of using different keybindings on Emacs and the servers seemed silly.
So keep the same keybindings for global use but use Emacs on local machines for extensibility (where would I be without Org Mode?!)
franburstall · 2022-04-07 17:08
This.
jcmkk3 · 2022-04-07 17:24
I do *not* think that evil bindings are more popular. I do think that it takes more work to setup a cohesive system with evil bindings so folks are more likely to use a distribution like doom or spacemacs which put a lot of effort of integrating them. I am happy that the option is there and I would love to see an easier way to use the vim modal interaction model in a way that feels a bit more integrated and seamless, within vanilla emacs.
0xMii · 2022-04-07 17:26
I might give it a try if I were typing on QWERTY, but on Colemak, HJKL are all on the same finger and that’s really uncomfortable. Emacs’ bindings are much more comfortable to reach.
But I do like Vim’s visual selection mode. It’s really convenient to quickly select a word or something between two delimiters with three keystrokes.
tsdwm52 · 2022-04-07 17:28
Modal editing is more complex. I switched to modal editing a few years ago because I wanted to take new habits. I use it successfully (IMO) now, but clumsy fingers still get me to unexpected places a few times a day.
quantum_mattress · 2022-04-07 17:29
Because modal editing sucks. I’ve used vi and emacs back to 1988 but have used vanilla gnu emacs almost exclusively for about 20 years. There was no such thing as doom or evil until fairly recently and your supposition that it’s the dominant version now is absurd. Where’s your evidence of this? Why do you think emacs users need to defend not using Evil? The whole basis of your post is extremely weak.
markasoftware · 2022-04-07 17:31
I'm an evil user and probably always will be. But Evil has its downsides. It doesn't play super nice with all major modes (unless you customize it and set up all the keybinds yourself), and so I've found my self disabling it in lots of modes, which means I sorta have to know emacs keybindings anyways. There are packages like evil-collection which try to make it work well in more modes but I don't trust like that.
ElCondorHerido · 2022-04-07 17:37
Emacs survey 2020 to the recue! Ocording to said survey, about 30% of emacs users use evil
ElCondorHerido · 2022-04-07 17:39
Just give it a try and decide yourself. A week on doom emacs o evil + evil-collection (with which-key enabled) should be enough for an informed decision
mickeyp · 2022-04-07 17:41
This subreddit is not particularly indicative of the wider Emacs community, so it's easy to end up thinking everyone uses Doom or Spacemacs or just Evil mode.
Doom & et al. users are also keen to point out -- which is completely fine, by the way -- that they're users of it.
Regular Emacs users rarely broadcast that: it's just the default.
reddit_clone · 2022-04-07 17:42
This. I am a emacs user for a long time. Also disliked VIM. Just knew enough to do minor edits on server boxes.
But when I recently happened upon Doom emacs, I liked the 'Leader' key approach and switched. Since Doom is natural thing is evil, I gritted my teeth and learned Vim way of doing things.
Now I like it very much. I am also much more comfortable on server machines with Just vi.
Best of both worlds. (I agree about Orgmode, org-roam, magit, projectile and helm). I honestly wonder if people know what they are missing...
nv-elisp · 2022-04-07 17:43
You mention the symptoms without explaining what you think the disease is.
[deleted] · 2022-04-07 17:44
[deleted]
nv-elisp · 2022-04-07 17:46
> Personally, I believe it is just better to use the default user interface of whatever app you use
Do you actually do this for all the software you use?
reddit_clone · 2022-04-07 17:47
Indeed the single thing that sold me Doom/Evil was that I was able to select with v-i-' which selects everything inside the single quote. I always found this tedious in plain emacs (Or any other editor I used).
asymptotically508 · 2022-04-07 17:50
> I also maintain multiple servers (my own self hosting) and I use Vim on those.
Have you tried [TRAMP](https://www.gnu.org/software/emacs/manual/html_node/tramp/Overview.html)? :)
jmhimara · 2022-04-07 17:50
Because it's 2022, I guess, lol.
> vim-style key bindings seems to be dominantly popular now
You'd have to offer some evidence for that. Sure, distributions like spacemacs and Doom come with evil by default, but that's because they people who created them are evil users themselves. Otherwise, I doubt most (or even many) emacs users are evil users. Modal editing has been in decline for many years now, I don't ever see that trend changing. So saying that Evil is "dominantly popular" is wrong, imo.
nv-elisp · 2022-04-07 17:51
What is it about modal editing that frustrates you?
tgrnh · 2022-04-07 17:53
>I also think Evil being so popular recently is more a symptom of Vim being popular and a good portion of Emacs' incoming audience being ex-Vimmers.
Yes. There is a chance that I would have never thought about switching to Emacs when I didn't heard about Evil. At least Evil convinced me to give Emacs a try. So I think it should be even more popular, because most Vimmers seem to not know about it and want to stick with vim "because the key bindings are better".
I don't use Evil any longer. I disabled it when I suspected that it might be responsible for some problems I had. It wasn't, so Evil is actually pretty good. But of course there is no need to use it. It's just a migration path for people like me who in the beginning have no clue what Emacs actually is and think that vim keybindings are superior.
Seriously, Emacs keybindings seemed to be just crazy to me: I tried, but couldn't memorise things like "C-c C-x C-i", it seemed to just make no sense and pretty complicated.
tgrnh · 2022-04-07 17:53
>I also think Evil being so popular recently is more a symptom of Vim being popular and a good portion of Emacs' incoming audience being ex-Vimmers.
Yes. There is a chance that I would have never thought about switching to Emacs when I didn't heard about Evil. At least Evil convinced me to give Emacs a try. So I think it should be even more popular, because most Vimmers seem to not know about it and want to stick with vim "because the key bindings are better".
I don't use Evil any longer. I disabled it when I suspected that it might be responsible for some problems I had. It wasn't, so Evil is actually pretty good. But of course there is no need to use it. It's just a migration path for people like me who in the beginning have no clue what Emacs actually is and think that vim keybindings are superior.
Seriously, Emacs keybindings seemed to be just crazy to me: I tried, but couldn't memorise things like "C-c C-x C-i", it seemed to just make no sense and pretty complicated.
nv-elisp · 2022-04-07 17:53
evil-collection is also of note in this regard.
reddit_clone · 2022-04-07 17:53
Ya certainly takes time. I still type ':w' in insert mode couple times a day.
I have CAPSLOCK mapped to Esc for more convenience.
I dislike the itty bitty Esc keys in modern keyboards. (Hated the softkey in Macs even more)
nv-elisp · 2022-04-07 17:56
> There was no such thing as doom or evil until fairly recently
Vi emulation in Emacs dates back to at least 1994.
> Because modal editing sucks.
> Where’s your evidence of this? Why do you think emacs users need to defend not using Evil? The whole basis of your post is extremely weak.
You seem to be making the same mistake you're reading into OP's post.
It's fine to have an opinion. It's even better to substantiate it. I don't think OP was trying to start a flamewar, either. It seems like a genuine question motivated by curiosity. Be more charitable in your reading.
blankspruce · 2022-04-07 17:57
Because you can [roll your own modal mode](https://github.com/Kungsgeten/ryo-modal). This particular approach will make the experience convenient in the way you actually prefer (Emacs' extensibility at its finest) and it'll allow you to slowly move towards the modal editing if it happens to be convenient for you.
bugamn · 2022-04-07 18:00
I think this example misrepresents vim badly. You don't need a plugin in vim to navigate through search, you just need to use `/someword`, so it is pretty close to what you have in Emacs.
wigglywiggs · 2022-04-07 18:01
I’m pretty sure this is a bait post but I’ll bite.
> I actually have never tried it myself, but now isn’t for a convincing reason – I just built my muscle memory on vanilla bindings and a few years ago added God Mode and helpers like Transient, so my reasons are more momentum than actual recommendable wisdom.
Why is muscle memory not a “convincing reason?” Seems pretty convincing to me.
The better question is why *should* you use Evil? “Everyone is doing it” is much less compelling than muscle memory, IMO.
> Is there a reason users, new and experienced, should decline to use Evil?
For a personal answer, I don’t use Evil because the benefit of using it does not outweigh the cost. I don’t mind the emacs keybinds, because I have a programmable keyboard. If ergonomics is a concern with the programs you use, and your keyboard is programmable, I suggest fixing the problem at that layer of the issue.
That said, there’s nothing wrong with using Evil if it works for you, there is a reason emacs users value its configurable and extensible nature.
zodmaner · 2022-04-07 18:01
Because I like the default keybindings of Emacs, and found it superior to vi/vim-style (especially after swapped the Cap locks & Left Control keys).
And I say this as an ex-vi/vim user who used vi/vim exclusively for almost 5 years (and still use vi/vim occasionally, but mostly for quick/minor editing).
Another great side effect of learning Emacs's default keybindings is that GNU Readline (which powers various GNU software, notably Bash) also defaults to using the same (subset of) keybindings as those of Emacs. This means that once I've mastered Emacs's default keybindings, I am instantly more productive when using Bash (or any applications that uses GNU Readline).
>I actually have never tried it myself
You should. Years ago, back when I first started using Linux, I also didn't bother to learn Emacs keybindings at first, due to various "memes", jokes (i.e., Emacs's pinkie, etc.), and "what other people said". But one day, I decided to try out Emacs and learn its way of doing things, and found out first hand how wrong many memes and jokes were, and how powerful and flexible Emacs and its keybindings is (in short, Emacs can do everything vi/vim can, without having to be modal), so much so that I regretted not having properly learn Emacs sooner.
So I guess what I'm trying to say is, it's good to learn different approaches/philosophies to do things. It'll broaden your perspective & horizon and makes you a better programmers in general.
nv-elisp · 2022-04-07 18:02
> As far as I understand it, the "idiomatic" way of doing this in Vim is to set relativenumber, then look to the left for the relative line number of the line containing the point I'd like to get to, then type 10j (or whatever). Then, I type fx, where x is the character I'd like to jump to. Then I ask myself whether I'm there. If not, I press ;. Then I ask myself again, and so on, until I'm there. This is too much effort, so I frequently find myself just pressing jjjjjjjwwwwllllll. Even though that's more keystrokes, and takes more time, I find it less effort, and I think that's more important.
That's one way to do it, but I wouldn't say it's the "idiomatic" way of doing it.
I don't enable line numbers at all. If there's a specific token I'm looking for i search for it. If there's a general area, sure numeric args plus movement. Within a line, yes t/f variants are good.
I don't think that's a particularly compelling case for modal editing, though. With Emacs bindings I'd be using roughly the same methods. However, when it comes to "change all the stuff in this html tag", vim's modal approach shines in comparison.
nv-elisp · 2022-04-07 18:03
> There are packages like evil-collection which try to make it work well in more modes but I don't trust like that.
That's interesting. Why do you not trust the evil-collection package?
[deleted] · 2022-04-07 18:05
[deleted]
john_abs · 2022-04-07 18:05
^ This right here.
I used to SSH into machines and submit jobs the hard way. TRAMP was one of the (many) killer emacs features that got me to switch from vim.
patrick_thomson · 2022-04-07 18:06
Aside from the assumption that Evil is a de facto standard, which in my experience it isn’t, most desktop environments can be configured to respect Emacs keybindings globally, regardless of application. macOS comes with them working out of the box, Gnome supports it with gnome-tweak-tool, KDE with AutoKey, Windows with XKeymacs. This is not true of modal editing, and is one of the big reasons I settled on Emacs, because I can be confident that my muscle memory will transfer outside Emacs (except for Electron apps, which makes me sad, but those are fixable bugs).
nv-elisp · 2022-04-07 18:08
I think there are two ideas that are being conflated in your question.
Evil emulates vim's modal editing scheme, but vim isn't the only modal editing scheme. The broader question is "Why do people prefer/dislike modal editing?"
I think the answer usually comes down to muscle memory/familiarity.
I used Vim for about a decade before switching to Emacs, so of course I opted for Evil. However, I also use a leader-key approach similar to Spacemacs. It allows for mnemonic keybinding chords. The same can be had with Emacs bindings, though. So it's really just a matter of preference.
[deleted] · 2022-04-07 18:13
[deleted]
yep808 · 2022-04-07 18:15
What's the problem with evil collection? I've been a happy user since day one actually.
llambda_of_the_alps · 2022-04-07 18:16
I'm always curious about people's reasons too. Almost everyone I've talked to that says they don't like modal editing pairs that with saying they never spent much time trying to grok it and see it's benefits. The same is true for Emacs. Most people who say 'Emacs just isn't for me' also never spent enough time with it to see the benefits.
I'm not a modal evangelist or anything but like many things it's a different mental model and to see the benefits you have to spend time with it.
PreferredBadger672 · 2022-04-07 18:17
because it's an unnecessary layer of complexity that can cause annoying problems that i don't want to deal with
llambda_of_the_alps · 2022-04-07 18:21
> Modal editing is more complex.
I honestly think it's less complex. I find it easier to think of all my actions being related to the mode I'm in rather than mixing say moving the cursor and entering text.
nv-elisp · 2022-04-07 18:25
> I doubt most (or even many) emacs users are evil users. Modal editing has been in decline for many years now, I don't ever see that trend changing. So saying that Evil is "dominantly popular" is wrong, imo.
What makes you sure of that?
> You'd have to offer some evidence for that.
likewise.
xircon · 2022-04-07 18:25
Everything. Swapping modes is a PITA, Emacs bindings are so much easier.
nv-elisp · 2022-04-07 18:27
In what way is it more complex than learning Emac's default key bindings?
nv-elisp · 2022-04-07 18:31
> (except for Electron apps, which makes me sad, but those are fixable bugs).
I see your point, but modal editing bindings for all those apps could be euphemistically referred to "fixable bugs" as well.
akirakom · 2022-04-07 18:36
I switched from Vim to Emacs years ago. I didn't adopt evil in my configuration because not all packages support it and it would be tedious to configure that on my own.
agumonkey · 2022-04-07 18:37
habit and enough speed
noman_032018 · 2022-04-07 18:39
There's no point in using Evil, but also why switch to modal editing in general?
Chorded mappings are convenient (and easy to extend) and contextual remapping is fine too (compare & contrast `paredit`, `mu4e`, `emacs-lisp-mode` and `eww`).
by_wicker · 2022-04-07 18:40
That's really not how it works. You don't need to search out a reason to *not* use an extra layer to transform an interface, you need a reason *to* do it.
For some of us, loudly asserting the default interface to be inherently bad is not sufficient, especially to those of us fully familiar with both, who do not find the vi interface superior. Some, like the "Distrotube" guy on Youtube call the Emacs interface "dangerous", which is enough to make me disregard anything else he says.
I switched to Emacs before vim, and was something of a vi power-user at my company, but nobody told me at the time I should find Emacs's interface inferior, and I didn't. Still have vi muscle memory; still don't.
I feel there may be an interesting cultural phenomenon here with the perception that Evil keys are the most popular. I'm constantly being told Emacs is bad in various ways that are completely at odds with my experience of it. Meanwhile I don't feel the need to tell users of vim, VS Code, or whatever, that their tool is crap or laughable. I feel much as I feel at family gatherings where I have to listen to some of them mouth off their political beliefs while the rest of us just keep quiet and change the subject because we're not going to change the minds of these blowhards.
xtifr · 2022-04-07 18:41
I'm a long-time Emacs user who is also reasonably fluent in vi, and I don't like modal editing because it requires attention that I'd rather use for other things. I was intrigued enough by various pro-vi arguments enough to give it a fairly serious try, and, in fact, I still often use it for quick one-off edits (especially for config files where I need a 'sudo'), but for continuous editing sessions, I just find it annoying.
jmhimara · 2022-04-07 18:43
Yes, that's why I chose my words carefully ("I doubt"). I don't know it for sure -- I just have a suspicion it is the case. As for modal editing being in decline, that's a relatively obvious observation. It will never disappear, of course, but it's not the direction that any new editor developer will go (or has gone for a while).
deaddyfreddy · 2022-04-07 18:51
I was Vi/Vim user for 3 years, moved to Emacs (with mostly default movement shortcuts) 12 years ago and never looked back.
deaddyfreddy · 2022-04-07 18:53
it's more complex for your brain
bugamn · 2022-04-07 18:53
This doesn't change that you can do search for navigation in vim, does it?
[deleted] · 2022-04-07 18:54
[deleted]
deaddyfreddy · 2022-04-07 18:55
> Vi emulation in Emacs dates back to at least 1994.
nah, 1986-1987 or something as a 3rd party plugin, something like 1988 as an OOTB solution. I always found fun the fact that it's older than Vim.
deaddyfreddy · 2022-04-07 18:56
Modes, switching modes off, count-things-oriented navigation
gzrrt · 2022-04-07 18:56
I couldn't live without it personally, so it's probably at least worth trying out for the uninitiated. But the learning curve is steep at first (before you'd get any noticeable benefit), so maybe `vimtutor` in the terminal is a better place to start off.
bugamn · 2022-04-07 18:58
So what? Why are you insisting in this trivia? This is irrelevant to the example that you gave. I could say that you don't need to hold control to start a search in Vim, like you do in Emacs, but that is also irrelevant.
You wrote like you can't do navigation through search in Vim and instead have to do things like `10jfx;`, but that is not true.
bigfig · 2022-04-07 18:58
I know enough vi/vim to do quick sysadmin, and that hasn't encouraged me to switch emacs keybindings.
nv-elisp · 2022-04-07 18:58
> As for modal editing being in decline, that's a relatively obvious observation. It will never disappear, of course, but it's not the direction that any new editor developer will go (or has gone for a while).
That's speculation unless you have actual evidence to back it up.
tsdwm52 · 2022-04-07 18:59
True! It’s the only one I know.
deaddyfreddy · 2022-04-07 18:59
C-Space, C-M-f
nv-elisp · 2022-04-07 19:03
Switching modes is the same as switching modes off. So I guess your contention is more with being aware of what mode you are in. Your only ever in one at a time. I don't use "count-things" oriented navigation any less than I do with Emacs bindings, personally. Linewise, it's an OK way to get around. Beyond that, I don't find it very useful. However, "count-things" editing as in "kill the next two paragraphs" is incredibly useful.
markasoftware · 2022-04-07 19:03
I felt the keybindings were not very complete and didn't feel natural.
nv-elisp · 2022-04-07 19:05
I don't doubt it's older. I was using the Copyright of Viper mode to illustrate that it goes back at least that far. Which I wouldn't consider "fairly recent" as the post I was replying to suggested.
llambda_of_the_alps · 2022-04-07 19:05
It’s not more complex for _my_ brain. That’s exactly my point.
I mean if you have academic research showing that modal editing is objectively more complex in some measurable way I’d love to see it because that would be really interesting work.
daraul · 2022-04-07 19:07
Skip the flame war and go straight to ed
/s
jsled · 2022-04-07 19:07
> Evil for vim-style key bindings seems to be dominantly popular now, among recommendations, preloaded distributions, and everywhere.
[citation needed]
[deleted] · 2022-04-07 19:09
[deleted]
bugamn · 2022-04-07 19:14
Even before incsearch you could navigate using search, the cursor just wouldn't move before you pressed enter.
Again, what I'm saying is that this example does not showcase a strength of emacs because it is downplaying basic vim functionality.
venustrapsflies · 2022-04-07 19:15
If modal editing really is in decline then I would bet it mostly has to do with younger programmers leaning towards vscode, jupyter, and other web-style editors/IDEs. I would not think this would be relevant data to an emacs user.
[deleted] · 2022-04-07 19:17
[deleted]
bugamn · 2022-04-07 19:18
Please drop it, it works in almost the same way, specially with incsearch
[deleted] · 2022-04-07 19:19
[deleted]
bravosierrasierra · 2022-04-07 19:33
map control on caps lock and use Ctrl-m alternative instead RET and Ctrl-\[ instead Escape. This is native keymapping, that keeps your hands from unnecessary movement from home row.
deaddyfreddy · 2022-04-07 19:33
to care about modes (actually, about anything) is more complex than not to care
deaddyfreddy · 2022-04-07 19:34
you could search Emacs changelogs on github mirror
jmhimara · 2022-04-07 19:36
Agreed, but that is also where new emacs users will come from.
deaddyfreddy · 2022-04-07 19:36
> Linewise, it's an OK way to get around.
it's still counting
> However, "count-things" editing as in "kill the next two paragraphs" is incredibly useful.
it's counting as well
ambirdsall · 2022-04-07 19:37
Lots of good points about perceived vs actual popularity; lots of reasonable points about how the multitude of ways to configure emacs and its upstream inputs (e.g. configurable keyboards) mean all sorts of ergonomic improvements are achievable regardless of your keybinding "style".
One thing I haven't seen is any discussion of _why_ the folks who love evil love it so, well, loudly; I have a theory, based on personal experience (I, like many others, migrated from vim). The TL;DR is that normal mode is a fabulous fit for emacs' "keyboard input triggers arbitrary lisp commands" model, and lisp is a fabulous fit for vim's "every single key is available as a top-level command trigger _as well as_ for inserting its nominal character" model.
Maybe I am alone in feeling this and I'm just projecting; and regardless, it certainly doesn't constitute a reason to avoid vanilla emacs bindings, just part of the reason why I prefer to live a life of evil. For clarity, I'm going to oversimplify what vim is drastically, to focus on the most essential/common parts of the workflow; no need to correct me by pointing out visual/visual block/operator modes, ex commands, or other aspects of vim/evil.
So. Vim-style modal editing sets aside separate contexts for `self-insert-command` and for all other navigation/editing commands; in normal mode, nearly the entire keyboard is available to trigger editing functions. This is a _fabulous_ fit for emacs' lisp command system! At the cost of keeping one byte of state in mind (which can be trivially offloaded to your brain's low-cognitive-effort visual processing systems by giving mode-dependent color cues, modeline sections, and cursor styles (I personally like a box cursor for commands and bar for insertion)), you gain a huge, lightweight set of new command keys. Users of programmable keyboards should recognize this: it's just like a QMK layer. They're just as introspectable as normal emacs bindings, just as easy to type as prose, and _much_ easier to redefine, advise, and expand than in vim, because of elisp.
But, like, if vanilla emacs works for you, that's all that really matters.
kaushalmodi · 2022-04-07 19:45
Regular Emacs user chiming in. Why is 2022 special? 😃
The default bindings have been working great for me (for over 15 (!) years).
> Is there a reason users, new and experienced, should decline to use Evil?
I'd say, just use whatever appeals to you.
[deleted] · 2022-04-07 19:47
[deleted]
PreferredBadger672 · 2022-04-07 19:47
I meant it’s more complex as in its an additional layer of software, which can can have quirks, and which would not exist with default inputs.
For example when I was learning Haskell, there was a bug where hitting “o” in normal mode to enter insert mode on the next line would fuck up the indentation in specific situations. The recommended solution at the time was to write some little elisp snippet to check for that situation and do a workaround. Vim emulation is not important enough for me to deal with stuff like that.
gravygrowinggreen · 2022-04-07 19:49
I'm attempting to learn emacs. I chose doom to start a serious attempt after fooling around with spacemacs for a bit. It uses evil, which i like so far. But one annoying thing is that documentation of what evil keybindings exist (across doom and spacemacs) seems to be more difficult to find. I have to admit, I'm tempted to just restart with a distribution like prelude (currently I'm using that one thing that lets you run multiple configs on the same installation), in order to get the best documentation while i learn things. And maybe eventually when I'm more competent make my own control scheme. (To be fair to the maintainers of doom and spacemacs, it could be that my own ignorance is causing me to have difficulty finding documentation. Both distributions are amazing as far as I'm concerned, so user error is highly likely).
I share this only because as someone starting out on the emacs journey, i can see very valid reasons to learning default emacs binds.
One other reason i am tempted to learn vanilla emacs is to use something like spacemacs hybrid mode, where emacs default binds are enabled when you are in evil insert mode. It seems like that would be the best of both worlds.
kagevf · 2022-04-07 19:51
I love vim keybindings, but they were too slow for me on emacs. I switched to vanilla keybindings, and my muscle memory caught up. Also, tutorials I was reading for org mode assumed vanilla, so that would be a possible reason to not switch to evil.
gruntbatch · 2022-04-07 19:59
For whatever reason, the Cocoa API on macOS provides Emacs-like keybinds by default across basically every text field in macOS: `C-f`, `C-b`, `C-a`, `C-e` all navigate as you'd expect, `C-d` deletes, and there are more. In effect, this promotes Emacs to native status in macOS. So if you like consistency and use macOS, being able to use the same navigation controls across everything is pretty nice.
karthink · 2022-04-07 19:59
`C-M-SPC` is simpler.
deaddyfreddy · 2022-04-07 20:01
sure
paretoOptimalDev · 2022-04-07 20:01
Vim can cause you to focus (or at least me) on optimizations in the small.
I spend that energy and emacs extensibility on macro workflow level optimizations now.
fragglestickcar0 · 2022-04-07 20:07
>At the cost of keeping one byte of state
This is a feature (a highly compelling one) of modal editing, not
endemic to either lisp per se or emacs's M-x command system, which I
failed to see as "fabulously" suited to modal editing (and was the whole
point of your post).
Despite being an emacs partisan, it's obvious to any programmer that
modal editing is superior for typographical error reduction, and
because, as you say, a measly state bit pays for the massive win of a
full slate of single-keystroke commands. Anyone who's written a
sufficiently nontrivial minor mode knows how quickly one runs into C-c
conflicts (not that anyone obeys the guideline, but C-x is reserved).
nv-elisp · 2022-04-07 20:13
Yes. Or I could search directly through the commit history of my copy of the repo. find-library was faster. My point was meant to be illustrative, not definitive.
kagevf · 2022-04-07 20:14
Great point! After I started using emacs I realized that while using vim I had spent a lot of energy on golfing ... emacs and elisp give you lots of opportunities to explore as an outlet for that excess energy.
ossadeimorti · 2022-04-07 20:16
Helix, kakoune, lapce all have modal editing and are definitely more than new
Michaelmrose · 2022-04-07 20:25
> recently
This might be true relatively if you consider just how long Emacs has been around but Evil goes back around 11 years at this point and before it viper goes back at least 26.
If modal editing in Emacs were a person it would have finished college years ago and be well on its well in its career.
Besides that the default keybindings for Emacs embody modal editing just not a very good one. You have many different modes as enumerated by many different starting character combinations which may be followed by various sequences of characters.
A non modal environment is one in which if you graphed the possible keybindings and operations the graph would have exactly one level with all operations involving a single key or combination thereof representing a leaf node rather than a branching.
Microsoft word is a non modal environment. Emacs isn't non modal even within one mode let alone the existence of countless major modes.
If you add in the multitude of options for modal editing which isn't limited to just evil.. its more like God Mode Meow Modalka Evil kakoune.el Hydra Evil-leader Major Mode Hydra Pretty Hydra then Emacs is by far the most modal environment on planet earth.
WorldsEndless · 2022-04-07 20:33
I accidentally sparked the Holy War, which was not my intention. I should have explained where I was coming from with this. I have the opportunity to onboard college students to Emacs for work. It has been tempting to use one of the big dawg packages out there, Doom or Spacemacs, and I know that both of them use Evil. I have also had recommendations to use Evil pop up in discussions about ergonomics and my Planck keyboard. That bulk of recommendations are where the "dominant popularity" view came from.
Perhaps I should have rephrased my question as to whether I should have my new developers use Evil bindings (a la one of the popular packages).
Thanks for the bulk of the answers here; most have been insightful and useful data points.
bugamn · 2022-04-07 20:33
Because not pressing enter isn't a consistent behavior. You can skip pressing enter on emacs if you use some commands, but you cannot if you use others (if you want to start typing text, for example). So it is a matter of not pressing a single button in some occasions. This is a very small difference.
[deleted] · 2022-04-07 20:41
[deleted]
bugamn · 2022-04-07 20:43
Yes, I search all the time, so that's why I prefer the consistent behavior of always pressing enter when I'm done
amodell · 2022-04-07 20:46
FWIW, I used normal emacs keybindings for years, but eventually I started to get some serious RSI symptoms. Since then, I've been rocking EVIL for the ergonomics of the vi keybindings.
draxil · 2022-04-07 20:48
No thanks, but I'm glad it exists for all the mad modal people it's drawn in.
[deleted] · 2022-04-07 20:48
[deleted]
bugamn · 2022-04-07 20:55
As I said from the beginning?
AblatedSprocket · 2022-04-07 20:59
Because meow mode exists
FrozenOnPluto · 2022-04-07 21:11
You probably meant to ask 'as an existing VI user - why not use evil in Emacs?'
As opposed to implying regular Emacs users should use evil mode, which is preposterous, but I gather you're getting hate about :)
Evil mode is completely useless to me, as I learnt Emacs decades ago; vi is only for me if needed to edit resolv.conf so I can apt-get install emacs, etc :)
BuilderHarm · 2022-04-07 21:15
Not the previous poster, but all of my company's servers have a custom message upon login that TRAMP can't deal with, sadly enough.
Camel-Bulky · 2022-04-07 21:20
Funny how different people are. After 20+ years of using vi I absolutely can not use vi bindings in Emacs. Vi and Emacs are too different and I must have a mental switch/separation between them by using native Emacs bindings in Emacs. If I enable vi bindings in Emacs, my brain melts and I start hitting alt-x in vi after Emacs session
Even funnier, if I was not using vi before, I would probably seriously consider using evil in Emacs ...
TheWoodenPrince · 2022-04-07 21:27
It's a classic both/and and not an either/or ;). Spacemacs offers the following,
```
;; One of `vim', `emacs' or `hybrid'.
;; `hybrid' is like `vim' except that `insert state' is replaced by the
;; `hybrid state' with `emacs' key bindings. The value can also be a list
;; with `:variables' keyword (similar to layers). Check the editing styles
;; section of the documentation for details on available variables.
;; (default 'vim)
dotspacemacs-editing-style 'vim
```
I will say Spacemacs does a fantastic job at lowering the learning curve. I would not have discovered the joy of common/emacs lisp otherwise. You'd think lispers of all people would be amenable to the idea of a DSL for editing.
Regardless of which editing mode you pick, I believe it worthy to:
1. Use a prebuilt distribution as a starting base. I'll argue starting with Spacemacs/Doom in no way hampers one's ability to transition to a vanilla config if and when the time is right.
2. Swapping ESC and CAPS LOCK, and CTRL/ALT. Just looking at the old space cadet keyboards, CTRL is right next to the spacebar. This is not set in stone of course, use whatever bindings take advantage of human thumbs being stronger than pinkies.
Hope that helps.
Edit: thumb > spacebar. ESC being on the home row has the nice side effect of switching between normal and insert modes more comfortable.
quantum_mattress · 2022-04-07 21:34
First, I know about these modes existing a long time ago. I was referring to distributions like Doom and Spacemacs that really energized the vi-in-emacs popularity in the last few years. Mostly vi users who wanted orgmode.
Second, my “modal editing sucks” comment was purposely a bit hyperbolic but I was annoyed at the entire premise of the OP’s post. However, I do believe this and my evidence is having used emacs almost every day for over 30 years! Used vi before that and occasionally since then.
Camel-Bulky · 2022-04-07 21:37
I believe it is wrong solution for a problem. If one types a lot or have a predisposition for RSI, he/she will get RSI no matter which editor one uses.
The proper solution for RSI is to use ergonomic keyboard in addition to other ergonomic tweaks (correct sit height, table height, etc).
There are also bunch of ways to avoid RSI with native Emacs bindings. The simplest one is for ctrl-c, ctr-x,ctrl-h combinations press RIGHT ctrl with your RIGHT thumb, then press letter as you normally do with you left hand. No pinky misery.
Camel-Bulky · 2022-04-07 21:44
As much I love Emacs, why force it on students and thus make them hate it? Why not give them a choice of Emacs, vi, nano, vscode, etc? Surely the course is not about Emacs per se? Unless of course you teach lisp or scheme...
amodell · 2022-04-07 21:56
Switching keybindings wasn’t the only thing I did, but in general, avoiding the frequency at which I must hold two keys and press a third has made things much better
moxxon · 2022-04-07 21:59
>For some of us, loudly asserting the default interface to be inherently bad is not sufficient, especially to those of us fully familiar with both, who do not find the vi interface superior. Some, like the "Distrotube" guy on Youtube call the Emacs interface "dangerous", which is enough to make me disregard anything else he says.
He said what now?
I don't think he's a dev of any sort, so I gauge his content accordingly.
>I feel there may be an interesting cultural phenomenon here with the perception that Evil keys are the most popular.
I think they're just the loudest.
> Meanwhile I don't feel the need to tell users of vim, VS Code, or whatever, that their tool is crap or laughable.
No, but I'm not above a little teasing here and there. You get more converts by showing Emacs off than by proselytizing in my experience.
nv-elisp · 2022-04-07 22:15
Fair enough on your first point, but your second point isn't evidence of anything other than the fact that you don't like modal editing.
nv-elisp · 2022-04-07 22:34
How would you delete 2 paragraphs using Emacs bindings?
indigo0086 · 2022-04-07 22:35
I do, maybe you should or shouldn't \*shrugs\*
sunnyata · 2022-04-07 22:42
"Caring" about something vanishes after you've internalised it. (I use vanilla bindings but the number of things I do without thinking in Emacs every day that others would say "phew that's a lot to remember"...)
stuudente · 2022-04-07 22:55
No.
MotherCanada · 2022-04-07 23:19
I'll be honest, once I got a keyboard with a thumb cluster (where I immediately put the Control key), I found the Emacs keybindings just as efficient and effective as anything else. And this is coming from someone that used vim (and later neovim) for 6 years before switching to emacs.
quantum_mattress · 2022-04-07 23:25
All irrelevant. You know that when people talk about modal and vi they mean one mode of typing text and one mode not.
quantum_mattress · 2022-04-07 23:26
No, it’s evidence that contradicts the OP’s assumption.
ahyatt · 2022-04-07 23:31
I used evil for a while. It is quite nice, I definitely like the philosophy behind it. The problem is, there's plenty of parts of emacs where evil doesn't work. What if you are doing autocompletion? You can't just input "j" or "k" to move up or down, that's part of the text autocompleted against. What about info buffers? What about debbugs? Really, evil is great, but it's best used when needed, perhaps just for certain modes. Not all the time.
nrnrnr · 2022-04-07 23:31
There must be a way around this. I’d post a question.
_tsuujin · 2022-04-07 23:41
> Frankly, the idea of using different keybindings on Emacs and the servers seemed silly.
I fixed this by learning to use tramp. Tramp is incredible.
arthurno1 · 2022-04-08 00:17
I don't know if I would agree with any of your statements. Actually, this was incredibly low quality post in my opinion. Couldn't you just ask why people don't use Evil, instead of posting bunch of ignorant claims to support your own opinion? Would be more honest, to be honest with you.
What data do you have that Evil is that dominant at all as you claim? At last poll last year majority of people actually used vanilla Emacs bindings or some custom variation if I remember well. But regardless, Spacemacs and Doom come with Evil pre-installed, but that does not mean that everyone is actually using Evil. I see a lot of posts here at Reddit where people are saying they don't use Evil, stopped using it and so on. With other words, just because someone is using Doom or Spacemacs does not mean they are Evil users. Also I am not very sure Doom and Spacemacs cover majority of users but I don't know. Ergoemacs and Prelude are probably still strong. But vanilla Emacs probably has the biggest share of users due to being distributed by many distros, precompiled for windows from devs and due to popularity of building Emacs from git. I don't, I think poll is needed there.
Also, "you should have your new developers use Evil", but you yourself don't use it? Honestly, I wanna throw up there. Why should you get anyone to use any binding? Let people use whatever they are used to, what do you care what other people use when they type on their keyboards. I understand that a company might have a policy regarding which tools people use, but keybindings? 😀
Edit: I just learned a pun wasn't a pun. Thank ju fragile.
What "whole war" did you started? Really? I see a lot of people fighting here..... or rather not. :rolleyes:
Michaelmrose · 2022-04-08 00:58
So when I hit C-x and subsequently various characters including characters that would normally enter text now do special things that's a mode its a switch in context.
There is no difference between hitting C-x to go to C-x mode and hitting escape to go to normal mode. C-x isn't just a normal mode its a tree of modes. If I hit n after C-x I'm now in C-x n mode wherein once again normal keys instead of inserting text perform operations and they do different things than C-x mode.
Lets go to line 55
<Esc>55G
We hit 4 keys and traverse 2 modes
vs
C-x n g 55 <CR>
We traverse 4 modes and hit 7 keys
The modes are insert mode C-x mode C-x n mode prompt input mode. Some sequences actually traverse 5 modes and involve changing which modifier key we are holding down midstream so its not that bad right!
[deleted] · 2022-04-08 01:00
[removed]
arthurno1 · 2022-04-08 01:09
Actually there is another kind, so called good quality posts. Not that you would now, considering the level of comments you usually do. We have seen them all, haven't we?
By the way, the racist comment you did a couple days ago in a joke thread really topped them all.
snippins1987 · 2022-04-08 01:12
I use Vim the longest, maybe over 5 years, then 2 years of Sublime, just a bit of Kakoune and VSCode, then Emacs.
I found the language aspect of vim to be overrated for me personally, while it was great fun at the start for learning, however after a while when I started to "git gud", the more I sped up, I unfortunately started to realize my brain would treat this elegant editing language just as some ergonomic key combos anyway.
The insights I got from vim were indispensable. But looking deep into Sublime and Emacs plugins capabilities, I found ways to get the all the features I wanted from vim (and more) without the need of an abstraction layer.
Eventually I realize what I wanted are:
1. more, more, more **editing** features and the ability to make more of them on the fly to fit my current workflow.
1. ability to stay on the home row, avoid hard to press key combos,
1. require the least of my mental energy.
Emacs's default failed pretty hard (for me) at number 2, but it can be fixed with my own config.
Evil/Vim by design, marginally failed at number 3, no it is not that bad and spending a whole day in it is still vastly better than most, it just that I found an even better way personally.
quantum_mattress · 2022-04-08 01:22
You can call it whatever you want. Those are just keyboard shortcuts to functions. I completely disagree with you that those are the same as hitting escape in vi. It also doesn’t change the fact that that’s not what most people are referring to as I previously wrote.
[deleted] · 2022-04-08 01:29
[removed]
delm666 · 2022-04-08 01:30
Why should I use it? I don't like it.
effective_code_ · 2022-04-08 01:50
I feel the same way, emacs bindings can be very efficient once mastered.
ageofwant · 2022-04-08 02:11
Why are you concerned with what your "new developers" use. Are they children ? Let them use what they want.
Michaelmrose · 2022-04-08 02:15
Technical terms matter as does precision. Emacs default keybindings are modal Microsoft word is not.
Emacs is a modal
Editing environment with hundreds of variables length mode trees rooted in different major modes.
quantum_mattress · 2022-04-08 02:32
I do not accept your statements at all. It is not modal. Those are just key maps organized into groups. I can still type M-x <any command/function> at any time with no regard for what state emacs is in. Obviously, some functions don’t apply in certain major modes but that’s not modal.
azswcowboy · 2022-04-08 02:39
> notably bash
Ding, ding, ding — as someone that doesn’t find the terminal solutions in emacs great, I’m using bash and emacs together constantly — it’s seamless.
Michaelmrose · 2022-04-08 02:45
Modal keybindings are by definition keymaps organized into groups.
You cannot type M-x after typing C-x because M-x is a mode. You cannot type M-x after typing C-x n because this too is a mode.
Having different major modes depending on which buffer is active is pretty much the definition of modal but at least that is a different sort of modal C-x and C-x n work EXACTLY like vim normal mode.
SomewhatGlayvin · 2022-04-08 02:52
If I were to use emacs full time I probably would. The reason I don't is because I use neovim.
I know this is an emacs subreddit, and I don't want to get it a flame war, but my usecase is "use vim bindings and write code". I don't need anything else from my editor. I know the whole saying that emacs is an operating system, with an editor on top--which is why I dont use it.
Each to their own, tho. Emacs is cool and orgmode is mindblowing. For my developer workflow, I prefer my editor to just do one thing simply, which neovim does well.
VitalyAnkh · 2022-04-08 02:52
You have a better choice: https://github.com/meow-edit/meow.
oritron · 2022-04-08 03:01
I'm with you on this. I gave evil a good try and I really liked certain ideas, but with layers in my programmable keyboard I get motion ergonomics at least as good if not better than evil. For example, my up and down arrows are on the home row when holding a thumb key, and page up and page down are right below those: that's easy to pick up and use, and it works in other programs 'for free'. That layer also has cut/copy/paste keys, so I am not hitting M-w in other programs anymore.
Motion is not all evil gives you, but there are emacs packages out there which offer good alternative options for those other functions.
HuskyElkton6135 · 2022-04-08 03:05
As some of the other users have said, I like non-evil because of habit and bash navigation. For that reason, I think it is important for everyone to know both sets. I use an Ergodox at my home desk and a custom built Pinky3 keyboard on the go. Emacs Pinky isn't a thing for me as I have Ctrl and Alt mapped to thumb keys on my keyboards. I can see how without it though, evil mode would be preferred.
nightless_hunter · 2022-04-08 03:15
I use whatever that helps speeding up my keyboard movement. Evil helps me, so I use it
Singletoned · 2022-04-08 03:15
To actually answer your question, Emacs keybindings are the default in bash, zsh and across most of MacOS (and I assume Linux). I learnt basic Emacs movement before I’d even heard of Emacs. So much so that in Emacs I had to map Ctrl-W to delete-word-backwards to make it more like bash.
When I was forced to use Windows for a while a few years ago, I used Autohotkey so that I could use Emacs keybindings system wide there as well
arthurno1 · 2022-04-08 03:26
😁 Indeed, however I really fail to see how is that making a shifty comment in other thread any better. That wasn't funny or witty by any mean.
anamexis · 2022-04-08 03:38
To be fair, I could see participation in that survey being inadvertently biased towards Emacs "purists."
thetemp_ · 2022-04-08 03:57
>How would you delete 2 paragraphs using Emacs bindings?
`M-h M-h <backspace>`
WorldsEndless · 2022-04-08 04:02
Ah. Yeah, I can see where you're coming from. To clarify, they are student employees and not taking a class. We work on developing Clojure web apps which, like other lisps, have extensive requirements on editor connection with a REPL. Off and on I've required emacs because I can help them the most with it, although I've had employees over the years use VIM, VS Code, and IntelliJ -- but it has usually been more productive to have them use Emacs so I can help them troubleshoot things I've been through too. Because I can no longer share my exact config because I use EXWM, Gnus, Telega, etc. I have played with the idea of starting them on one of the pre-built setups, but I would probably need to learn Evil to best help with those.
thetemp_ · 2022-04-08 04:06
`C-M-SPC` is an unsung hero.
And when you want to go backwards, it remembers the negative argument. Such a workhorse.
redmoosch · 2022-04-08 04:43
By the way, I use Arch Linux
zerosign0 · 2022-04-08 05:15
Already using emacs vanilla about maybe for the last 5-6 years, the answer simply related to keybindings, I'm already get used to it to the point that it seems really really hard to move from it into another keybinding. Already try nvim (because having more language support for the tree sitter) and setup it, but still find it really really hard to migrate into nvim keybindings for really simple stuffs.
[deleted] · 2022-04-08 05:41
[deleted]
redguardtoo · 2022-04-08 05:44
Most IDEs and editors supports vim keybindings. For example, if I have to use IntelliJ IDEA, I could install its vim plugins.
na85 · 2022-04-08 05:51
>What are compelling reasons NOT to use Evil in 2022?
How about: Modal editing isn't actually better. Prove me wrong.
[deleted] · 2022-04-08 05:54
[deleted]
viktorruneberg · 2022-04-08 06:06
Just use vs code. Calva is great and you don't need to learn much yourself to be helpful.
The ones that want to branch out can always use Emacs.
pushqrex · 2022-04-08 06:19
Preface: What is superior is completely relative to personal experience.
For me after using Vim for 6 years and after I switched to Emacs I struggled for a couple of days before I felt like I was liberated from this whole idea of thinking in modes. I learned a set of builtin bindings as well as a few custom ones that made editing and writing more efficient than Vim was. Now does that mean that Vim is trash and Emacs is superior? Absolutely not, that's a personal experience, is it superior for me? Absolutely yes
wargreymon_messatsu · 2022-04-08 06:59
Nope, I type very often.
It doesn't change that much even if Evil is as good as you phrased. An extra "I" to start typing is in fact bothersome. Im not saying Emacs' keybinding is ok, but modifier keys are enough for emacs things, typing is just typing without an extra I.
fuzunspm · 2022-04-08 06:59
I don't like vim style shortcuts. I love emacs style shortcuts.
To me, vim style shortcuts are slower and emacs style shortcuts are much faster, memorable, logical
onetom · 2022-04-08 07:01
https://github.com/magnars/expand-region.el is your friend.
I use the built-in equivalent of it in IntelliJ all the time.
it's a bit like a vi text objects in the simplest possible way.
anuctal · 2022-04-08 07:38
I'm new to Emacs. What other killer features has Emacs?
Hi_ItsPaul · 2022-04-08 07:48
I've found the emacs interface to be pretty unapproachable to learn when just getting started.
My journey started from learning vim via `vimtutor` because I was annoyed with having to edit every parenthesis with my mouse or arrow keys in Atom, I knew there had to be a better way.
Learning vim was easy. The navigation is intuitive, building the basic concepts around navigating/editing a text document was approachable while the skill ceiling is high.
Vim is navigation and editing style, in a way. Emacs is an OS. Vim didn't replace my note-taking, command line, text book reader, etc. Emacs did.
Hoping into emacs with vim experience made it significantly easier to learn. All I had to do was learn this new operating system, and each useful program (mode) I set up meant that I could also use my vim skills on it. (ignoring exceptions like magit with God mode)
TLDR: starting with vimtutor is like learning how to type. Starting emacs is like learning a new OS. Vimtutor is easier and approachable.
Hi_ItsPaul · 2022-04-08 07:52
The modes you listed feel so essential and yet exclusive to emacs in regards to cohesion between them all and beyond.
It's like seeing people listen to downloaded music while you're steaming it.
Hi_ItsPaul · 2022-04-08 07:56
Multiple cursors can act funky sometimes, such as putting a cursor at the end of every line and hitting enter, which may cause it to just do it on the line you started with.
Hi_ItsPaul · 2022-04-08 08:02
Defaults in emacs? Impossible.
Hi_ItsPaul · 2022-04-08 08:07
You'll want to jump from spacemacs pretty quickly the moment you need something customized. Might as well start at Doom.
However, I would say VS Code is pretty good as-is, and might be more suitable for a large group, unless they know that they will likely be tweaking their emacs config regularly and are intrinsically motivated to do so.
Hi_ItsPaul · 2022-04-08 08:09
Once you get good enough at vim, the number of keypresses goes down by a *lot*.
Hi_ItsPaul · 2022-04-08 08:11
I agree with you on the lack of clear documentation for Doom evil keybindings.
I've been thinking of adding documentation or *something* so people can learn it more easily. It took me months to realize that evil-surround existed
physicologist · 2022-04-08 08:16
I am your last paragraph. After almost twenty years of using emacs, I installed Evil without ever having used vi in the interim. That was six years ago and I haven’t looked back.
Mandatory caveat: I have cerebral palsy, so my opinions on keybindings are not generally applicable.
younger-1 · 2022-04-08 08:34
meow is really a better choice over evil in emacs
drnfc · 2022-04-08 08:41
Disclaimer: Personally I use evil because I learned vim before I started using emacs and never really learned emacs bindings.
His argument was that Emacs key bindings more RSI inducing than vim.
I agree with his argument in that since emacs relies heavily on the control key (to my understanding) it puts a ton of strain on the pinky.
The main reason why I tend to agree with this sentiment, is that I used to play a lot of warframe back in the day, and the main reason why I quit was I started developing pain in my pinky due to the way you move in that game (its since disappeared all together).
I'll just repeat, I don't know emacs bindings, I'm just echoing what I've been told.
drnfc · 2022-04-08 08:42
Magit and org mode are the main ones for me.
drnfc · 2022-04-08 08:47
Personally I listen to downloaded music, but thats mainly because I aquire all my music as flacs. I dont know if I actually hear a difference between my stuff and the streamed version or if it is psychological, but I definitely hear a difference when I use my audiotechnicas
IonTichy · 2022-04-08 08:51
you should be able to suppress any such message by changing the SSH loglevel:
`ssh -o LogLevel=error`
I don't know where to set it in TRAMP itself, but you could put it in your ssh config:
Host *
LogLevel error
There is also the `-q`param for ssh if this does not work.
Unfortunately, YMMV depending on the exact server-side sshd configuration.
T_Verron · 2022-04-08 09:08
For me the main (the only?) advantage of vi bindings over emacs bindings is that they don't conflict with CUA. In turn it makes it easier to implement those bindings in other applications, which is virtually impossible with emacs bindings (e.g. no website or extension can rebind C-n in chrome).
That was never enough for me to overcome the hurdle of relearning an entire set of bindings (or, more precisely, of learning a new set of bindings without accidentally placing me in a state where I had no idea what to do).
Popularity shouldn't be part of the discussion: you are using your own bindings, not someone else's.
Modal vs non-modal shouldn't be part of the discussion: as you point out, there are modal sets of bindings which are compatible with emacs.
Ergonomics should be part of the discussion, but in my humble opinion, neither is better than the other there.
I used to teach a 1st year comp sci course where the students were expected to learn and use Emacs. And every year, I'd have one or two students who already knew vim and asked what to do. I would usually tell them that they have three options: they can try Emacs cold-turkey, they can use Emacs with Evil, or they can keep using Vim (but then they have to accept that I won't be able to help them with Vim problems).
At the end of the day, the point is to show them the existence and the power of real text editors. And Vim (and VSCode) are real text editors.
But new students, without any prior experience? I'd recommend vanilla (or a small sane configuration for their needs) over doom, they will already be overwhelmed enough.
T_Verron · 2022-04-08 09:11
Tramp was already suggested, but if the servers are yours, why not install Emacs?
ElCondorHerido · 2022-04-08 10:40
Why?
qiAip · 2022-04-08 10:57
I started of with vanilla emacs for years and years and it worked fine. Most of my peers however used vi and I just couldn’t do anything on their workstations when trying to help out. I then gave evil-mode a try after about a decade of the default keybindings and found the modal editing paradigm to really work well ‘for me’. It had the extra benefit of being able to keep what I know and like about emacs while learning how to use vi.
I personally find evil-mode more comfortable and intuitive even after my familiarity with the default bindings, but that’s just me. I can definitely see how other people would find it the exact opposite.
zajasu · 2022-04-08 11:28
Could you, please, provide some practical example of this?
xircon · 2022-04-08 11:30
I *can* use vim, I have it installed, used it for years, I chose not to use it because Emacs without Evil is far superior and suites my workflow.
I do use some "modal" elements (RYO-modal), but I use RYO to gain extra keybindings (I trigger with Hyper key combos) and for opening bookmarks etc.
zajasu · 2022-04-08 11:41
Can anyone, please, provide a good tutorial on God mode? I mean what is it, how to use it and what are the advantages / disadvantages?
anuctal · 2022-04-08 11:59
Thank you
holgerschurig · 2022-04-08 11:59
I don't use Evil because I hate that Emacs is always in the wrong mode. I like to have everything accessible at every time. Even when I was just interrupted by a collegue and return to my computer.
Also in real vim (not sure if in Evil) the cursor behaves in weird ways. E.g. it moves around when I quit insert or append mode. So e.g. i ESC i ESC i ESC moves the cursor for no reason 3 characters to the left.
I wouldn't mind some verb-noun command like of operation of an editor, but not with modes, but e.g. with prefixes.
WorldsEndless · 2022-04-08 12:16
I could install emacs on all of my own servers, but that would break (re: require cloning) the emacs config file to all of them. TRAMP is a winning solution if you want to keep your config.
WorldsEndless · 2022-04-08 12:19
Definitely not intended as a bait post, or to touch the Editor War as it has done. Mostly I was wondering whether emacs on-boarding should happen with Evil, and if by extension I should be using Evil in order to be a better teacher/support.
WorldsEndless · 2022-04-08 12:21
from the stance of trying to get new users productive quickly, this extra layer of compatibility complexity sounds like a major problem.
modifiedenby · 2022-04-08 12:37
All Emacs modes and packages work well with the default bindings. Using Evil requires either compatibility packages that don't always exist or suffering an inconsistent UI
fedreg · 2022-04-08 13:51
>God mode just lets you avoid having to hold down the modifier keys for everything.
>
>So if I have a keybinding that is "C-c C-c", in God Mode it's just "c c"
>
>There are a few other tweaks, like you can do "c SPC c" instead of "C-c c" and you can go "g x" instead of "M-x" (you can hit/release g and the next key functions as if you were holding down Meta).
>
>The advantage is that you don't have to always hold down the modifiers.
>
>The only possible disadvantage IMO is that it makes emacs modal; you have to exit god mode for insert. But the nice thing is it's easy to toggle so I use it a lot for navigating / reading code, and not as much while doing a lot of writing / editing.
anamexis · 2022-04-08 14:02
I could imagine that people who are actively involved in the Emacs community, and therefore made aware of the survey, would be more likely to be working with "pure" Emacs setups. People coming to Emacs for "a vim better than vim" could be less likely to be engaged in the community.
ramin-honary-xc · 2022-04-08 14:15
> Do you actually do this for all the software you use?
Yes, to the greatest extent that is possible. Although for my window manager (Xfwm4) I have relented and used keybindings that I find more comfortable, but I still know the defaults well enough that I can use a fresh install on any system without confusion.
magic2ktech · 2022-04-08 14:47
for me it's org-roam. Read bout Zeitelkasten, if interested
CulturMultur · 2022-04-08 15:39
I was using Evil (initially via Spacemacs then as a mode on top of Vanilla) and then switch to Meow \[1\]. The main reason is that Evil makes setting keybindings really hard, it is evil to default keymaps. So when I found Meow, I switched to it, most of my muscle memory from vim times still holds, I learned a few new tricks and Meow doesn't stop me from using Emacs as I want.
​
\[1\]: https://github.com/meow-edit/meow
CulturMultur · 2022-04-08 15:45
Still struggling with meow when selecting punctuation and parenthesis, `w e e e e` will not respect punctuation as vim's `v e e e e`. How do you live with that?
deltille · 2022-04-08 15:52
Specifically, as a subset of org-mode, org-babel completely changed the way I write and reason about code. To the point that if I'm working in a novel language I'll make sure to implement at least primitive babel support for it ASAP now. The code is in the same body with the rest of my notes and runs directly from it without having to switch mental 'context'.
It works with anything scriptable, too, not necessarily just programming languages. I could see it being very useful for eg. drilling pronounciation of a spoken language.
deltille · 2022-04-08 15:55
I use both!
Tramp has some added niceties like running any scripts relevant to a remote buffer on the remote machine. Sometimes I want that behavior, sometimes I don't.
EmDashNine · 2022-04-08 16:07
New students should learn the basic commands of *both* emacs and vi:
- motion commands (including word and block commands)
- copy paste
- undo / redo
- multi-line selection
- find / replace (with and without regexp)
- rectangular edits (what vim calls visual block mode)
Why both? Because while on some systems, `vi` is the only text editor that's available, and some distros don't package `emacs` at all. However: `readline`'s default key bindings are emacs key bindings. Being able to copy / paste in a basic login-shell command line is pretty powerful. And it turns out that basic emacs keybindings work in some surprising places (like text-input boxes on MacOS), once it becomes muscle memory to use them. Vi keys show up in other places, though not as many as emacs. E.g. `less` uses vi keys for interactive search.
As for vim vs. emacs vs evil: look you will *never* understand either vim or emacs in its entirety. It comes down to which editor has the features you want to support what you're working on. Emacs might get language support for some new language before vim. Or it might be the other way around.
I have never regretted learning vim, but I also never regretted learning emacs. It sucks you need both, but unix software will always be a mish-mash of emacs and vi-style keybindings.
The reason I have shied away from evil mode (and thus Doom and Spacemacs) is that it just seems like too many layers to me. If you're a new user and you're trying to google around for emacs cheat sheets, none of the standard advice for either vim or emacs will always work for you. You might install some fancy package only to discover it doesn't play nice with evil mode at all, and then you're stuck unless you have an expert around to help.
Icommentedtoday · 2022-04-08 16:09
Why would you use multiple cursors if you have visual block mode anyways?
john_abs · 2022-04-08 16:22
Org Mode
(org-tree-slides,
org-roam,
org-agenda,
org-noter,
org-contacts,
org-cite
etc. etc. etc.)
mu4e,
magit,
eshell (or vterm both are good),
pdftools,
helm-bibtex,
evil-mode,
and loads more that I probably don't know about.
EmDashNine · 2022-04-08 16:26
I responded more in depth below, but: force your students to learn basic editor commands of vi and emacs. Sometimes all you have is vi, but readline defaults to emacs. If you can switch between them, you'll always be at home in the shell.
EmDashNine · 2022-04-08 16:31
Not only that, but C-k is a cut to an entirely separate clipboard space, which is handy on an OS that doesn't really offer clipboard management as a first-class feature.
paretoOptimalDev · 2022-04-08 16:50
It's really more personal I think.
Basically using vim puts me in the mindset of moving quickly throughout my current buffer, whereas using emacs, because I can use it to tie my entire workflow together i'm in the mindset of "how can I optimize my workflow or fully automate it".
I guess the best concrete example is using a terminal to compile code and M-g M-g to go to an error line versus M-x compile and M-x next/prev-error.
Using vim a ton means :45 is in your muscle memory, so not feeling as much pain means you don't question the compile workflow.
I guess using vim lets me subsist in a mid-tier optimum that i'm trapped in because I optimize the wrong things.
Kind of like a hamster running on a wheel faster to escape when they need to slow down and step off.
I don't think it has to be this way though, i'm sure other experienced vim users are able to focus on the more impactful high level optimizations.
One counterpoint that comes to mind here is how intuitive I found ctrl+i/o for moving between mark history.
Nolari · 2022-04-08 16:53
In both gaming and Emacs, I use caps lock as control. Never had any pinky problems.
drnfc · 2022-04-08 20:39
well for reference, warframe utilizes C-S-<space> for what is known as bullet jumping.
​
personally for emacs, caps is rebound to esc because evil.
Nolari · 2022-04-08 20:42
Caps Lock + Shift + Space is pretty easy for me to hit...
Your mileage may vary.
drnfc · 2022-04-08 20:49
it is but when your hitting it repeatedly, every few seconds. it starts to hurt.
bugamn · 2022-04-08 21:32
I'm not OP, but I'm in more or less the same situation. In my case, I would phrase it as "I don't trust that I will get a better experience in these modes with evil-collection than with emacs keybindings". For example, even though I like vim modal editing, the default keybindings for magit or dired work very well for me. The keybindings from evil-collection might fit better with vim idioms (like j/k vs n/p), but are they as comprehensive as the original keybindings, are they consistent with the keybindings from other modes that are not covered by this collection, and are they going to be consistently kept on parity with the main package?
bugamn · 2022-04-08 21:33
I don't use multiple cursors, but isn't that a different use case from visual block?
paretoOptimalDev · 2022-04-08 22:06
> The keybindings from evil-collection might fit better with vim idioms (like j/k vs n/p), but are they as comprehensive as the original keybindings, are they consistent with the keybindings from other modes that are not covered by this collection, and are they going to be consistently kept on parity with the main package?
This is ultimately why I switched away from evil mode despite doing vim for 10 years.
The emacs bindings and conventions are considered from the moment someone starts coding an elisp program.
Plus the consistency everywhere of emacs bindings, though evil-collection does do a great job.
bugamn · 2022-04-08 23:25
How did you get used to it? I started trying to learn to use emacs keybindings without evil, but in the end I gave up and accepted that I feel more comfortable mixing a bit of evil there for text editing. I keep wondering if there is something that I missed that would make the default keybindings click, but I haven't found that yet. And it isn't just a matter of memorizing them, I use the subset that bash recognizes often enough
spwhitton · 2022-04-09 00:10
I have become convinced that if you are editing more than just code the Emacs bindings are better. Things like M-c, M-a, M-e don't have equivalents.
anuctal · 2022-04-09 05:50
Thank you for your input! It's very useful.
anuctal · 2022-04-09 05:51
Thank you!
quote-only-eeee · 2022-04-09 06:46
OTOH, such a survey is easily spread on social media like Reddit, where evil seems to be very popular.
quote-only-eeee · 2022-04-09 06:49
I've personally found that Emacs causes pain if you limit yourself to using the keyboard exclusively. Using the mouse for operations such as window switching seems to, in my case at least, help. If only by reducing the use of modifiers :)
drnfc · 2022-04-09 08:14
TBH I borrowed the idea from doom emacs, utilizing space as your leader, and make everything pneumonic.
​
for example:
SPC T L -- toggles line numbers
SPC O T - opens vterm
etc.
Av1fKrz9JI · 2022-04-09 11:41
If you need to use Emacs on other machines other than your personal computer, I.e. stock servers.
My local local Emacs uses evil, I’m pretty efficient with it, got everything working as I want. As soon as I go on to another machine to edit a file I have to use vim as completely useless in stock emacs, so bad I have to Google how to quit.
> Perhaps I should have rephrased my question as to whether I should have my new developers use Evil bindings (a la one of the popular packages).
Let them use any editor/binding they choose and find most productive
harveyrrr · 2022-04-09 15:35
I bought the Mastering Emacs book and practiced its advice. Similarly to how Practical Vim teaches you how to think in Vim idioms, Mastering Emacs gives you a sense of the purpose and themes behind the Emacs key patterns. I'd recommend it!
reddit_clone · 2022-04-09 16:34
I have indeed tried to use expand-region in the past. But somehow it didn't stick. Vi text objects, once learned seem to be more intuitive to me. Esp. 'i' inside and 'a' for around.. It works for all sorts of quotes, parens etc.
cradlemann · 2022-04-09 19:04
I use evil because I use vim sometimes, but more often I use tridactyl in firefox, vim bindings in terminal and other programs
[deleted] · 2022-04-09 22:24
[deleted]
nv-elisp · 2022-04-10 17:17
I use roughly 120 packages. Usually I update them once a week. I've only encountered evil-collection keybinding problems maybe twice due to an author renaming a command without obsoleting the previous name (more a bug on the package author's end).
I understand not wanting to build a "house of cards" for yourself, but I don't think the risk is all that high to defer to evil-collection.
To each their own, though.
WorldsEndless · 2022-04-11 16:51
My life changed when I realized that emacs, as opposed to VIM, rarely needs run on server machines: you can Tramp it all, and then have the benefits of you config in place. I use vterm when it's a quick, totally shell thing I need to do, and Tramp/shell/better-shell whenever files need editing.
jacmoe · 2022-04-12 13:23
I am not using Evil in 2022 because I am using [Boon](https://github.com/jyp/boon) :)
​
It's extremely ergonomic, and - like Meow - integrates smoothy with the standard Emacs keybindings. But, unlike Meow, Boon is fully preconfigured, yet still modular and adaptable. I like it. A lot more intuitive than Evil. And I can use the good, old Emacs keybindings, with a few exceptions, while using it.
​
I use Emacs primarily for creative writing, so efficient editing is very important, and I need to be able to write for hours without wreaking havoc on my hands.
Ghosty141 · 2022-04-12 21:35
>I also think Evil being so popular recently is more a symptom of Vim being popular and a good portion of Emacs' incoming audience being ex-Vimmers.
Yep. I (as well as a colleague of mine) got fed up with how extending vim feels very brittle and clunky while emacs lets you do practically anything (looking at you, advice).
I personally think the combination is great since the modal editing concept works really well for me and emacs allows me to customize everything I want to so my text editor does exactly what I want.
ir210 · 2022-04-13 03:00
It's because, in vim, cursor is on a character in normal mode. Unlike in emacs where it's always in between characters. When you type i to go to insert mode, the cursor will be in between the character you were on and the one on the left. When you type a it will go to the right instead.
lord_archimond · 2022-04-28 01:22
Can Emacs do everything vs code does? I tried to make vim into an IDE with intellisense like completion but I gave up after its too difficult or annoying. Is Emacs better in that regard
by_wicker · 2022-04-28 15:08
I only dabble with VS Code so I'm not sure, but it literally uses the same language servers for its features, so it should be pretty equivalent in code-aware features.
Certainly, full completion, checkers-as-you-edit, and debugging, as provided by LSP servers, are pretty straightforward. The current state of Emacs's LSP support is very good such that with very simple configuration, I started working on some Typescript projects for the first time and it all *just worked*, and similar with a PlatformIO project - completion, checkers, build-aware syntax highlighting (e.g. undefined #ifdef blocks shadow'd out).
PersonalityOwn4076 · 2022-07-13 19:41
This is a couple of months after your comment, sorry about that, but I just noticed Meow Mode from this comment and in the README it mentions Evil Mode being slow. Is that something that is common knowledge? Would be the first I've heard of it. Either way, thank you for mentioning Meow Mode!
AblatedSprocket · 2022-07-13 20:36
That's not common to my knowledge, but my knowledge doesn't count for much. I wouldn't be surprised if that were true, considering how complete vim emulation is in evil. I stopped using it because I spent too much time fighting keymaps. Life is much simpler in Meow mode, although it is also less ergonomic.
The thing I really like about meow is that, even though you can't map bindings to meow's normal mode directly in a way that is sensitive to what Emacs mode you're in, if you have a lot of bindings under C-c keys, it's almost like you actually do get those sensitive bindings because of the unique way Meow simplifies these more complex bindings.
PersonalityOwn4076 · 2022-07-13 20:39
That's fair. I think I am going to give it a try just because EVIL seems like a much bigger step up in complexity.
AblatedSprocket · 2022-07-13 20:52
Cool! If you find any neat ways that meow helps with your workflows I'd be interested in reading about them, Meow doesn't get enough love imo.
PersonalityOwn4076 · 2022-07-13 21:53
If I like it and get the hang of it over the next few days, I'll certainly make a post!