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.
Hey, yeah, I know the feeling, every time I lose an already typed reply I completely lose motivation to rewrite it.
Hehe, as a precaution, I wrote this up in Emacs instead 😜.
Yeah, my pinky strain issue is completely gone
Glad to hear that!
Using i3/sway as my WM for a keyboard centric usage
Curious to see this at the very top of your list. Perhaps I should make my switch to Sway rather sooner than later. Thank you for the endorsement!
learning touch typing properly
I intend to learn this with the alt keyboard layout after the more ergonomic split keyboard has arrived. Wish me good luck 😉!
Trackball instead of mouse
Hmm…, this is lower on your list. So I suppose that by effectively removing most need for a mouse, the switch to a trackball has been less impactful. Btw, perhaps related, would you happen to be aware of hints? If so, could you touch upon its relevance?
a good chair to prevent issues with my back
Curious. Is this a special ergonomic chair (or something)?
It was a slow process of making one change here, few months later another z etc
Did you advance/progress in increments because you were testing out the latest addition to the setup? And thus, only introduced a subsequent change after judging that you were not ‘done’ yet?
all of my pains in wrist, lower back, neck, etc have disappeared.
I am so glad to read this! While the journey until I am able to interact with my systems without any pain seems far away right now, success stories like yours make me so pumped to pull through.
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.
Couldn’t agree more.
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 [ ).
Interesting. FWIW, I did test this out and I believe that OOTB Doom Emacs does utilize the evil-surround package. However, I don’t think it’s as powerful as what you describe. Though, this could also be on me 😅.
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.
Hmm…, this very closely resembles what evil-snipe does. Though, unless I’m doing something wrong, the functionality is not a single s away, but rather a g s SPC away. At least, OOTB*.
May I ask why emacs in evil-mode instead of Nvim?
Of course you can. Unfortunately, though, I don’t exactly recall my reasonings 😅. Thankfully, I did note some of my thoughts from back when I was actively trying to decide between the two. From there, I was able to gather the following:
I would only try out Emacs or Neovim through a opinionated config.
For Emacs, Doom had kinda won over Spacemacs based on the opinions (and experiences) of others . Though, I still wanted to try out Spacemacs to judge for myself.
While for Neovim, LazyVim and LunarVim were the winning configs.
What follows is not based on my notes, but from what I can remember. Shortly after I came to the above conclusions, I went out and tried to install them. But, I wanted to ‘test’ them without ‘polluting’ my system. As such, I tried to install them within a distrobox. This is where Neovim came short because of this imposed limitation. I don’t 100% remember what it was, but IIRC there might have been more than 1 issue; one of which had to do with fonts. Regardless, my Neovim adventures were prematurely terminated 😅. By contrast, Emacs didn’t budge an inch under these circumstances. So I was able to test out both Doom and Spacemacs without any significant issues. Since then, I have dabbled in Emacs. But the folding mentioned in the original post is what has led me to commit more seriously than ever. So, in short, it was mostly out of practical reasons.
Btw, it’s funny, but most of what you just read about my reasonings were buried memories 😂. Like, if I had to answer it on the spot -so without thinking it over or look through my notes or dig through my memories- , I would probably have stated some arbitrary technical reason (e.g. org-mode FTW) OR its proven longevity OR I don’t know… something. But it couldn’t be further from the truth 😅. Granted, I’m still very much enjoying Emacs. But, I shouldn’t disregard/dismiss Neovim any longer. It’s time to revisit this rabbit hole 😂. I should also thank you for asking the question that brought this to my attention 😊!
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?
Hehe, as a precaution, I wrote this up in Emacs instead 😜.
Glad to hear that!
Curious to see this at the very top of your list. Perhaps I should make my switch to Sway rather sooner than later. Thank you for the endorsement!
I intend to learn this with the alt keyboard layout after the more ergonomic split keyboard has arrived. Wish me good luck 😉!
Hmm…, this is lower on your list. So I suppose that by effectively removing most need for a mouse, the switch to a trackball has been less impactful. Btw, perhaps related, would you happen to be aware of hints? If so, could you touch upon its relevance?
Curious. Is this a special ergonomic chair (or something)?
Did you advance/progress in increments because you were testing out the latest addition to the setup? And thus, only introduced a subsequent change after judging that you were not ‘done’ yet?
I am so glad to read this! While the journey until I am able to interact with my systems without any pain seems far away right now, success stories like yours make me so pumped to pull through.
Couldn’t agree more.
Interesting. FWIW, I did test this out and I believe that OOTB Doom Emacs does utilize the evil-surround package. However, I don’t think it’s as powerful as what you describe. Though, this could also be on me 😅.
Hmm…, this very closely resembles what evil-snipe does. Though, unless I’m doing something wrong, the functionality is not a single
s
away, but rather ag s SPC
away. At least, OOTB*.Of course you can. Unfortunately, though, I don’t exactly recall my reasonings 😅. Thankfully, I did note some of my thoughts from back when I was actively trying to decide between the two. From there, I was able to gather the following:
What follows is not based on my notes, but from what I can remember. Shortly after I came to the above conclusions, I went out and tried to install them. But, I wanted to ‘test’ them without ‘polluting’ my system. As such, I tried to install them within a distrobox. This is where Neovim came short because of this imposed limitation. I don’t 100% remember what it was, but IIRC there might have been more than 1 issue; one of which had to do with fonts. Regardless, my Neovim adventures were prematurely terminated 😅. By contrast, Emacs didn’t budge an inch under these circumstances. So I was able to test out both Doom and Spacemacs without any significant issues. Since then, I have dabbled in Emacs. But the folding mentioned in the original post is what has led me to commit more seriously than ever. So, in short, it was mostly out of practical reasons.
Btw, it’s funny, but most of what you just read about my reasonings were buried memories 😂. Like, if I had to answer it on the spot -so without thinking it over or look through my notes or dig through my memories- , I would probably have stated some arbitrary technical reason (e.g. org-mode FTW) OR its proven longevity OR I don’t know… something. But it couldn’t be further from the truth 😅. Granted, I’m still very much enjoying Emacs. But, I shouldn’t disregard/dismiss Neovim any longer. It’s time to revisit this rabbit hole 😂. I should also thank you for asking the question that brought this to my attention 😊!