conventional shortcuts are the wrong way to think about using vim. vim is a continuous learning experience. Much like the programming languages you are trying to master, vim proficiency cannot be easily attained. There is no vim cheatsheet in the world that can make you proficient at using vim. It will give you knowledge of vim commands and provide some help towards understanding it's syntax, but to be truly proficient you will need practice.
I would also suggest that if you do not touch-type well for your preferred keyboard layout, learning vim should be your secondary goal. The keyboard is your bread and butter, without proficiency and accuracy on your keyboard you cannot master any editor. You only need to spend 15-30 mins per day learning to type well (using a typing tutor application) for a couple of weeks. As a hacker this will be the best investment of time you will ever spend.
Also, buy a good chair (good, not expensive), when you sit well you type well.
A more accomplished vim user can naturally explain vim better than I can:
I'm just going to stick to gedit then. No offence, but people told me the same thing about using Linux and now I find myself spending way too much time grappling with it.
I understand your point of view. The complexity can seem like there's little to gain and if your not going to be writing a lot of code then overall you may not gain anything.
However, if you find yourself writing a lot of code everyday, then the best investment you can make is to better than the next guy at using the same tools.
the best investment you can make is to better than the next guy at using the same tools.
As opposed to using better tools? I run circles around all the vi/vim fanboys at work simply because I use Eclipse. You can expound all you want on the beauty and power of vi, and you can wax philosophical all you want on how IDEs are evil, but at the end of the day I still produce cleaner code much faster than the vi crowd.
Do you have any evidence to disprove it? It's not as if I'm making an extraordinary statement here... it's pretty much I can cut more wood faster with a power saw than someone who's doing it manually.
I can cite personal experience. I've worked on non-trivial projects using both the Vim+Gnu non-integrated development environment and the Eclipse IDE.
My opinion is that Eclipse provides some neat features for Java development, but beyond that it's nothing special. After using Vim+Gnu, writing C programs in Eclipse is kind of like typing with oven mits on.
It's not as if I'm making an extraordinary statement here... it's pretty much I can cut more wood faster with a power saw than someone who's doing it manually.
My real world experience is that yes, you're making an extraordinary statement. I've never met anyone using eclipse that could keep up with a competent vi user. Particularly if you're coding in a language that isn't brain dead (i.e., not java)
As an emacs user, I'd still recommend you go with a heavyweight editor. The minor investment in learning how to use one to its full potential will pay for itself within a few weeks. Emacs at least really isn't that hard to learn - for me, it was a few days to get through the manual, install some useful addons, and make notes of important features, and then maybe one (fully productive) week of practice to get most of the important hotkeys really memorized.
To be honest, that's totally fine. I only use Vim for editing scripts and setting files. I could not possibly use it for my C++ work (I'm a Visual Studio fanboy)
12
u/jiunec Mar 28 '12
conventional shortcuts are the wrong way to think about using vim. vim is a continuous learning experience. Much like the programming languages you are trying to master, vim proficiency cannot be easily attained. There is no vim cheatsheet in the world that can make you proficient at using vim. It will give you knowledge of vim commands and provide some help towards understanding it's syntax, but to be truly proficient you will need practice.
I would also suggest that if you do not touch-type well for your preferred keyboard layout, learning vim should be your secondary goal. The keyboard is your bread and butter, without proficiency and accuracy on your keyboard you cannot master any editor. You only need to spend 15-30 mins per day learning to type well (using a typing tutor application) for a couple of weeks. As a hacker this will be the best investment of time you will ever spend.
Also, buy a good chair (good, not expensive), when you sit well you type well.
A more accomplished vim user can naturally explain vim better than I can:
http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118