this post was submitted on 12 Jun 2025
64 points (97.1% liked)
Linux
55329 readers
1072 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Others have given you many options, but I would like to know why Nvim or Emacs are not good options for you?
No no, don't get me wrong. I think both Emacs and Neovim are excellent. And this little endeavor/search/pursuit has (perhaps more than anything) solidified (and gave context as to) why they're in their own league.
Like, I've tried about a dozen of text editors in last couple of days. And with most^[Heck, I've only been able to confirm that Kate and KDevelop at least do what has been advertised (by others).] of them I've failed to reproduce the functionality demonstrated in the gif.
But even the very best of what I've tried since making this post pales -or at least seems to be*- in terms of extensibility. And, when we add in Emacs' proven^[Neovim is still relatively new. I don't think I can justifiably vouch for its longevity yet.] longevity, it becomes hard to root for any of the alternatives. At least..., so far*.
Still, I had to answer for myself if committing to Emacs (or Neovim for that matter) was justified given the fact that I had not a lot of experience with text editors 😅. Like, as funny as it sounds, I've moved from Word+StickyNotes to (GNOME's) Text Editor to a bunch^[I can recall ghostwriter, MarkText and QOwnNotes.] of Markdown text editors to Emacs. And the switch to Emacs was mostly motivated when I saw Obsidian do the very thing you see in the gif 😂. But as cool as learning the ropes of Emacs was, I think I was experiencing some impostor syndrome shenanigans.
Thankfully, it seems that this has mostly served to be a huge motivation boost. Perhaps I was (more than) ready to conquer Emacs all along...
If you had started with that people would have told you that nothing comes even close. The closest things you will find are Atom (archived), Sublime (closed source) and Helix (still very new and no plugin support, but something to keep an eye on).
Speaking of obsidian, the reason why it took me forever to start using Silverbullet is that Emacs has org-mode which does most of what Silverbullet/Obsidian do out of the box, plus some other stuff that they don't do (e.g. excel like tables).
But I wanted something I could edit remotely through my phone and web interfaces are better than using text editors over ssh connections. Also I have migrated from Emacs to Nvim, the reasons are purely ergonomical (pinky fatigue is a real issue) but after switching I found a jump in the way to think about an editor. Emacs is great, don't get me wrong, and if you decide to learn Emacs I can assure you it will be the best editor you've used, but it still edits things at a character level, while there are concepts for matching brackets or quotes changing the text inside quotes in Emacs is very character oriented, I.e. go to start of quote, start marking, move to matching quote, delete, whereas in vim is sort of a higher level language where you say Change Inside Next Quote using
cin"
, and expanded with some plugins you can even dosrnq'
to Surround Replace Next Quote with ' (which will change the quotations on the next text from whatever to '). And that's a lot closer to the way I think so it skips a mental step (plus it's a lot less keystrokes and no Ctrl for my pinky).But those are the reasons why I switched, many people use Emacs for decades without ergonomic issues, whichever of the two you decide to learn you'll understand why they're the staple editors for most people who actually choose an editor.
Thank you for the raving endorsement and otherwise very informative reply!
Hmm...., interesting. I'm still pretty new to evil-mode, but doesn't that bridge the gap here? Btw, I don't know why, but I wasn't able to see for myself how
cin"
worked within Vim*.Yes, evil-mode would have bridged the gap, however I didn't go emacs -> vim in one step, I left emacs back in 2017 because of pinky strain, and other ergonomic issues that made me switch keyboard layout as well (which made me lose lots of agility on emacs) and started using Pycharm for python dev, VSCode for other languages (including Markdown for note taking) and nano for system file edition. I tried some of the other suggestions here like atom, sublime, Kate, etc, but they never became my everything tool like emacs used to be. Very recently I discovered Helix, and I gave it a try and loved it, however the lack of plugin support made me have reservations on diving in. But the interaction mode is very close to vim, so I decided to give vim another go and went through a few tutorials on how to set Nvim up while refreshing muscle memory for vim movements and learning new stuff and it's slowly becoming the everything tool that emacs once was for me.
All of that being said, I don't think I would use evil-mode on Emacs, the reason is that vim is made with those motions from the ground up, whereas in emacs they will be an after-thought so it will probably not be integrated enough (or more likely will require lots of configurations).
It's simple, imagine you have a line of code like so:
If your cursor is almost anywhere on that line pressing
ci"
will erase the contents of inside the string and place you in insert mode, i.e. the line will look line this:With
|
being the cursor in insert mode. There are other similar things, for exampleca"
(Change Around ") will also erase the quotes, very useful for example to change a hard coded string with a variable.