== My divergence from 'proper' Vim by not using and exploring features I've read a reasonable number of Vim tutorials and introductions by now, and one of the things that stands out is how some of what I do differs from what seems to be considered 'proper' Vim. The simple way to put it is that I use less of Vim's features than the tutorials often introduce. One of the best examples is something that I do all of the time, which is reflowing paragraphs. The official proper Vim way to reflow paragraphs (based on tutorials I've read) is _gq{motion}_. Often the most flexible version is _gqip_ or _gqap_ (where 'ip' or 'ap' select the paragraph you're in). Assuming that various things are set correctly, this will magically reflow your paragraph, much as M-q does in Emacs (a command I'm accustomed to using there). However, for various reasons I don't use this; instead I rely on the general purpose hammer of '_!_' and the (relatively) standard Unix _fmt_ command. My conditioned reflex sequence of commands for formatting the paragraph I'm writing is 'ESC { !}fmt }', and in general I'll use '!}fmt' more or less reflexively. At one level this is somewhere between a curiosity and a deliberate choice not to learn all of Vim and try to Vim golf everything in sight (a choice that [[I've written about before ViInefficientMovement]]). At another level this is kind of a weakness. As an example, in writing this entry I discovered not just that the _gq_ command could be made to use _fmt_, but also discovered or re-discovered the _ip_ and _ap_ motion modifiers, which might be useful periodically, including in my usual paragraph reflowing. Or perhaps not, because now that I experiment with it, using _ip_ instead of moving to the start of the paragraph causes the cursor to jump up to the start after the paragraph is reflowed. Using an explicit { command means that I'm (relatively) conscious that I'm actively moving before I reflow, instead of having the cursor jump. If Vim was Emacs, I probably wouldn't mind, but since Vim is Vim I think I may prefer the explicitness of my current approach. (And on character golfing, using _ip_ or _ap_ saves no characters in this situation. To really golf, I would need to switch to _gq_.) [[As before ViInefficientMovement]], I probably shouldn't be surprised. Vim's sets of commands and motions are now really quite large, and people generally pick and choose what they use out of large sets like that. I suspect that plenty of Vim users use only various subsets of them, subsets that would strike other Vim users as annoyingly inefficient or old-fashioned.