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 do srnq' 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!
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 do srnq' 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).
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).
I wasn’t able to see for myself how cin" worked within Vim*.
It’s simple, imagine you have a line of code like so:
my_var = "some string with spaces"
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:
my_var = "|"
With | being the cursor in insert mode. There are other similar things, for example ca" (Change Around ") will also erase the quotes, very useful for example to change a hard coded string with a variable.
Sorry fam for the late response! I was writing up a draft a couple of days ago, but that one somehow disappeared. Which…, is kinda peculiar as I don’t recall the last time a draft spoofed out of existence. Regardless, it really puts me off to start a reply all over. As such, I’ve been mustering motivation since 😅. Anyhow, thank you for your patience!
Thank you (also) for sharing your journey around the many text editors! If anything, it reminds me how life has got many surprises for us. As such, being wed to any software, regardless of how powerful it may be, may still result in a break later down the line.
Thank you (once more) for touching on ergonomics! I haven’t mentioned it, but I do experience some RSI-related pains/aches.
Steps I've undertaken to alleviate the pains/aches. This has been put in spoilers, because I don't think it's very relevant for the subject matter.
I use a split keyboard, and hope to switch in the upcoming months to one of the most ergonomic keyboard around.
I have made changes to my workflow to become (mostly) keyboard-only, so little to no mouse/touchpad. Which led me to embrace and become more familiar with modal editing.
I have dabbled into the alt keyboard layouts and intend to make the switch when the aforementioned ergonomic keyboard arrives.
I have made many other changes to how I work in order to better align with ergonomics; laptop-stand so that it’s lifted to the appropriate height, worked on better posture, only making minimal use of my phone etc. And intend to back this up further with a height-adjustable desk.
Employ speech to text whenever I can afford it.
Anyhow, I do have concerns on how Emacs’ default keybindings might be detrimental on someone using a regular keyboard. I believe this article makes an interesting case on this. That’s also one of the reasons why I’ve (almost) exclusively been on evil mode.
I hope you’ve recovered completely from the strain on your pinky! And, hopefully, nothing else has been causing any issues since!
Btw, the trick with ci" and ca" is pretty cool! Thank you for teaching me something new! FWIW, it was reproducible within Emacs’ evil mode*.
Hey, yeah, I know the feeling, every time I lose an already typed reply I completely lose motivation to rewrite it.
Yeah, my pinky strain issue is completely gone, I also used to have some more pain on my wrist which made me go through a very similar journey to you, I took many steps for it to the point where nowadays my setup is (in order of what I think has made the largest impact)
Using i3/sway as my WM for a keyboard centric usage
Switching to Colemak and learning touch typing properly
Split ortholineal keyboard (crkbd)
Trackball instead of mouse
I’ve also got a height adjustable desk and a good chair to prevent issues with my back, and my monitors use an arm to be in the right position. It was a slow process of making one change here, few months later another z etc, but this has been my setup for a few years and all of my pains in wrist, lower back, neck, etc have disappeared. I figured if I’m going to ve sitting in front of a computer typing stuff for 8h a day I need to make that as comfortable as possible to be able to do it for longer.
As for emacs with evil mode I was sure that ci" would work, that’s basic vim functionality, what I’m less sure would work is more complex stuff for which I use plugins, e.g. <space>srq" (Surround Replace Quotes with ") to replace the next quotes for " (e.g. changing var = 'some text' to var = "some text"). That same plugin allows me to also do <space>srb[ to Surround Replace Bracket/Braces with [ (to change the surrounding [, (, or { to [ ). Another plugin allows me to move to any part of the screen in 4 keystrokes, I press s the two characters of where I want to move, and a third disambiguation character and the cursor moves there. Those are advanced usages that I think will be difficult to reproduce in emacs, plus plugins will not incorporate the basic ideas for movements.
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:
my_var = "some string with spaces"
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:my_var = "|"
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.Sorry fam for the late response! I was writing up a draft a couple of days ago, but that one somehow disappeared. Which…, is kinda peculiar as I don’t recall the last time a draft spoofed out of existence. Regardless, it really puts me off to start a reply all over. As such, I’ve been mustering motivation since 😅. Anyhow, thank you for your patience!
Thank you (also) for sharing your journey around the many text editors! If anything, it reminds me how life has got many surprises for us. As such, being wed to any software, regardless of how powerful it may be, may still result in a break later down the line.
Thank you (once more) for touching on ergonomics! I haven’t mentioned it, but I do experience some RSI-related pains/aches.
Steps I've undertaken to alleviate the pains/aches. This has been put in spoilers, because I don't think it's very relevant for the subject matter.
Anyhow, I do have concerns on how Emacs’ default keybindings might be detrimental on someone using a regular keyboard. I believe this article makes an interesting case on this. That’s also one of the reasons why I’ve (almost) exclusively been on evil mode.
I hope you’ve recovered completely from the strain on your pinky! And, hopefully, nothing else has been causing any issues since!
Btw, the trick with
ci"
andca"
is pretty cool! Thank you for teaching me something new! FWIW, it was reproducible within Emacs’ evil mode*.Hey, yeah, I know the feeling, every time I lose an already typed reply I completely lose motivation to rewrite it.
Yeah, my pinky strain issue is completely gone, I also used to have some more pain on my wrist which made me go through a very similar journey to you, I took many steps for it to the point where nowadays my setup is (in order of what I think has made the largest impact)
I’ve also got a height adjustable desk and a good chair to prevent issues with my back, and my monitors use an arm to be in the right position. It was a slow process of making one change here, few months later another z etc, but this has been my setup for a few years and all of my pains in wrist, lower back, neck, etc have disappeared. I figured if I’m going to ve sitting in front of a computer typing stuff for 8h a day I need to make that as comfortable as possible to be able to do it for longer.
As for emacs with evil mode I was sure that
ci"
would work, that’s basic vim functionality, what I’m less sure would work is more complex stuff for which I use plugins, e.g.<space>srq"
(Surround Replace Quotes with ") to replace the next quotes for " (e.g. changingvar = 'some text'
tovar = "some text"
). That same plugin allows me to also do<space>srb[
to Surround Replace Bracket/Braces with [ (to change the surrounding [, (, or { to [ ). Another plugin allows me to move to any part of the screen in 4 keystrokes, I presss
the two characters of where I want to move, and a third disambiguation character and the cursor moves there. Those are advanced usages that I think will be difficult to reproduce in emacs, plus plugins will not incorporate the basic ideas for movements.May I ask why emacs in evil-mode instead of Nvim?