DEV Community

Discussion on: How useful is learning VI/VIM for a new programmer?

Collapse
 
simchuck profile image
simchuck • Edited

Just feel the need to make another comment/observation...

The typical description of the uniqueness of vim is to characterize it as a "modal" editor, since you have to type a key to switch between editing, movement, etc. I believe that all editors are actually modal, it's just that those weened in graphical environments don't think of moving your hand onto the mouse, moving the mouse, and clicking, as a mode switch. When you really think about it, this a much more invasive interruption to your workflow, let alone the significantly more inefficient physical effort required to switch to this mode.

I believe the fundamental difference is that vim uses a "sticky" mode which defaults to one that allows you to navigate your document rather than to edit. This allows vim to use an extremely keyboard-centric interface, to the point that you can completely eliminate you mouse/trackpad. If it wasn't for those damn GUI applications that haven't fully appreciated what vim has proven to be so effective ..

This, along with the vim "grammar", which provides an extremely intuitive compostable syntax that greatly leverages the available features with a relatively small level of fundamental memorization... Overall, genius.