- disable arrow keys
- turn relative numbers on by default
- force yourself to only move vertically using relative numbers
- force yourself to only move horizontally using [fF,;] - disable arrow keys
- turn relative numbers on by default
- force yourself to only move vertically using relative numbers
- force yourself to only move horizontally using [fF,;]On the subject of using fFtT (and other motions), there's a plugin I quite like that works well with my mental model of that motion—I often don't want to go to the first instance of that character, but the second or third in that line. EasyMotion[1] lets you do that.
> - force yourself to only move vertically using relative numbers
> - force yourself to only move horizontally using [fF,;]
These tips doesn't strike me as helpful. The w, b, e et al. (word boundary); % (paired delimiters); /, ? (occurrence); ^, $ (begin/end of line); and text object motions are indispensable to a Vimmer, and I use them all far more than I use [fF,;]. / and ? are more useful to me than f/F because it's often easier and faster to include another character or two of unique context for a character than to count occurrences beforehand or tap ; a bunch of times and they also work across multiple lines.I'm finally learning and remembering to use marks which are another great way to navigate a buffer or even several buffers at once.
- disable arrow keys
- force yourself ...
- force yourself ...
This strikes me as an attitude that drives people away from Vim. Maybe it depends on individual differences in learning style, but I would say the exact opposite. Embrace the arrow keys! And all else that is familiar.The moment you start with Vim you're diving in the deep end and productivity will take a plunge. At least training wheels like the arrow keys can help you stay productive and keep using it for long enough until you cross over the productivity threshold (where you're more productive than on a normal editor, even though you still have a lot more learning to do).
For me my main blocker was just purely not being able to use it for the absolute basic operations. I found that once I learned how to do the absolute basic (insert, copy, paste, move around, search, etc.) I was able to use vim. The next step was building my own vimrc with some very basic configurations that made vim much easier to use. Then whenever I need or want to do something complicated I just google for the command, plugin, or write my own plugin.
It's an editor, it should be as easy as possible. People (should) use VIM because it's powerful, not because it's different from other editors.
Once someone has a couple of months of vim under their belt then would I recommend disabling the arrow keys.
Having your fingers on the arrow keys mean your hand has to travel that much further to type the other keys—making you slower.
I was forced to use vim because that old piece of crap PC (I still love it though) wasn't powerful enough to run anything, really, and the screen was super small. I noticed using arrows key was super uncomfortable because yes, they were closer to the actual home row but they were also smaller, clunkier and harder to press. So I decided to force myself to use hjkl and disable arrow keys. It was definitely one of the best decisions of my (coding) life. Just comfortably resting your hands on the home row (either laptop keyboard or normal one) simply makes your typing more relaxed and after the couple of weeks (months?) struggling with left/right (up and down was fairly easy) you really stop noticing it.
Funnily enough, I re-enabled arrow keys a year or so ago and I haven't really felt the temptation to use them anymore.
DISCLAIMER: This turned me into a super slow and awkward typist when I am trying to work on text in an editor that does not support vim mode (like google docs for example). I have several documents around with jjjkkjhjjhjjllljh unfortunately.
Whenever I start teaching someone vim, I always add this to their .vimrc:
inoremap <Left> <nop>
inoremap <Right> <nop>
inoremap <Up> <nop>
inoremap <Down> <nop>
This way, arrows still work as expected in command mode, but not in insert mode. The novice will learn to only insert in insert mode, and move and operate in command mode.