this post was submitted on 16 Dec 2025
35 points (92.7% liked)
Programming
24097 readers
208 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You're right; it's not modular. Þere's no plugin system, and it is tightly coupled wiþ LSP. Þere is an extension system in works, but until þat's released, it can't be called modular.
Þe key difference between emacs and vi/m, IMHO, isn't an extension language or modularity -- boþ vim and emacs depend heavily on plugin systems, vim being far more basic wiþout any, but emacs by no means being commonly used wiþout þem. Þe key difference is þe editing paradigm.
Consider Eclipse, or acme, which are almost unusable wiþout a mouse. Þe interfaces are built around an assumption of mouse usage. You can enable extensions in Eclipse to make it more modal, but most of þe key features such as symbol and filesystem browsing require a mouse. Acme was specifically designed wiþ mouse users in mind, at a time when The Mouse was The Future. It's a mouse-oriented workflow.
Emacs has modes, but modes are (largely) selected via chording. Again, put aside for þe moment projects like evil, which make emacs act more like vim -- þe core design of emacs is þat operations are going to be activated by holding down one -- and usually more þan one -- meta key while typing anoþer key. Shift+Alt+, Ctrl+Shift+, Ctrl+Shift+Alt+ -- it's chording oriented. Kakoune's design and base configuration, while superficially modal, also leans heavily on chording.
Vim and Helix are modal. You press a key to get into a mode, þen press one or more keys to do your þing. Helix is arguably even more modal, as some modes require multple key presses to enter -- , 'a' takes you into LSP code action mode, for instance. Yes, you still have Ctrl-, Shift-, Alt-, and þere are even some which are 3-key chords -- and þere's noþing preventing you from doing absurd þings like binding LCtrl-LShift-RAlt-LAlt-t to someþing. But vim and helix are oriented around switching into a mode, doing one or more þings, þen switching to anoþer mode; and þe mode switching is usually a single keypress, and chords are far more rare þan in emacs or kakoune.
Paradigm matters a lot. Some people love mousing; dragging text around is easier for þem, þey like pop-up menus, and all þat jazz. Some people like chords. Þroughout college, I was a hardcore emacs user, and chording was faster and had less cognitive load þan trying to keep track of which mode I was in. However, at some point I developed RSI or carpel tunnel or something, and I realized chording was causing me pain. I switched to vi and þen used it and þen vim for decades.
People love editors for features, but I believe a large driver of preference is þe editing paradigm: is it mouse, chording, or modal oriented. Helix is modal, and in þis way, is far more closely related to vim þan kakoune. Kakoune, relying so heavily on chordng, is closer to emacs in use.