> Can someone please explain to me why I should learn vim? I've made several attempts in my lifetime because I thought there would be some magical "ah-ha" moment, but it never came.
It's faster. I've been using vim motions for almost 9 years at this point, 8 years in vim, vi, ex-vi, neovim, etc. Most recently I've moved to Doom Emacs (Which feels like an editor I'll be using in whatever forms it takes, for the next 20+ years). The experience of when you get used to it is essentially that you are so practiced with the motions that they become sub-concsious, muscle-memory. I don't have to think about where to place the cursor, figure out where the mouse cursor is, deal with a bunch of weird pasting tricks. To delete a line I just have to will myself to delete it (using 'dd'), just like I don't have to think about the complex action of getting up off the bed, I just do it (At least, on days when Mr Depresso isn't visiting). Eventually, it feels like the editor is part of you. And at this point I can't give up vim motions. Editing in anything else is uncomfortable and painful because the ease and speed with which vim allows me to do complex motions and actions is so convenient.
I can't speak for your experience, but for me I had to struggle through it a bit until I found the 'ah-ha' -- that might not come for you, or maybe you haven't found it yet, unfortunately.
I would look into using more motions, don't see it as a replacement for Gedit, or Atom, or any of the mouse+keyboard text editors -- it's not. Trying to use it like those will lead nowhere.
The trick that worked for me is to find motions that are convenient, and move ESCAPE to a more palatable key -- I swapped it with CAPS LOCK, since I pretty much never, ever have to use that key (I can always highlight 2 words with `v2w` and press `~`, which will swap the case of it, anyway). The 'finding of the motions' is important. I spend 90% of my time in a text editor moving, and cutting text, rather than typing. A motion like `}` allows me to move the cursor down a paragraph, `d}` will delete said paragraph, `v}y` will copy it, etc. Often I find myself deleting `t`o a place. So I can do `dt#` to delete to the comment at the end of a line. ^O will go to my previous cursor position, etc.
I would also recommend looking up Practical Vim -- it's probably the best Vim handbook out there (Easily accessible via genlib if you want to try before you buy), and there are still things in there I haven't learned and integrated into my workflow yet (For example, `vi)` to fast-edit bracket sequences, that I haven't bothered with much).
---
Regardless of all of that you need to decide if that effort is worth it for you. I know an extremely skilled programmer who writes and deals with extremely complex code just using Gedit (previously Geany).
It's faster. I've been using vim motions for almost 9 years at this point, 8 years in vim, vi, ex-vi, neovim, etc. Most recently I've moved to Doom Emacs (Which feels like an editor I'll be using in whatever forms it takes, for the next 20+ years). The experience of when you get used to it is essentially that you are so practiced with the motions that they become sub-concsious, muscle-memory. I don't have to think about where to place the cursor, figure out where the mouse cursor is, deal with a bunch of weird pasting tricks. To delete a line I just have to will myself to delete it (using 'dd'), just like I don't have to think about the complex action of getting up off the bed, I just do it (At least, on days when Mr Depresso isn't visiting). Eventually, it feels like the editor is part of you. And at this point I can't give up vim motions. Editing in anything else is uncomfortable and painful because the ease and speed with which vim allows me to do complex motions and actions is so convenient.
I can't speak for your experience, but for me I had to struggle through it a bit until I found the 'ah-ha' -- that might not come for you, or maybe you haven't found it yet, unfortunately.
I would look into using more motions, don't see it as a replacement for Gedit, or Atom, or any of the mouse+keyboard text editors -- it's not. Trying to use it like those will lead nowhere.
The trick that worked for me is to find motions that are convenient, and move ESCAPE to a more palatable key -- I swapped it with CAPS LOCK, since I pretty much never, ever have to use that key (I can always highlight 2 words with `v2w` and press `~`, which will swap the case of it, anyway). The 'finding of the motions' is important. I spend 90% of my time in a text editor moving, and cutting text, rather than typing. A motion like `}` allows me to move the cursor down a paragraph, `d}` will delete said paragraph, `v}y` will copy it, etc. Often I find myself deleting `t`o a place. So I can do `dt#` to delete to the comment at the end of a line. ^O will go to my previous cursor position, etc.
I would also recommend looking up Practical Vim -- it's probably the best Vim handbook out there (Easily accessible via genlib if you want to try before you buy), and there are still things in there I haven't learned and integrated into my workflow yet (For example, `vi)` to fast-edit bracket sequences, that I haven't bothered with much).
---
Regardless of all of that you need to decide if that effort is worth it for you. I know an extremely skilled programmer who writes and deals with extremely complex code just using Gedit (previously Geany).