I am not a Coder – Why Would I Learn Vim?

I have been trying to learn Vim. Why would I want to learn the 20-year-old editor? What are the deficiencies of modern editors that make me want to choose something so ancient ? Efficiency of movement. Vim was created before the mouse, so it has much more efficient cursor movement and text manipulation shortcuts. Vim’s commands are snippets of text that have meaning, grammar and structure .The commands are “composable” . This means that you can figure commands out based on a logical structure without having to memorize arbitrary keyboard combinations or codes.It is almost like lego for editing.

Learning Vim commands is not easy.But, small snippets of text with a consistent grammar are easier to remember than abstract keyboard shortcuts. Keyboard shortcuts are abstract because they have no meaning by themselves. Mac Os X keyboard shortcuts for cursor movement are not as powerful as Vim movement commands. There is no way to move or manipulate sentences as a unit. You can jump by words and paragraphs but not sentences. There are Emacs keybindings, but they require holding down the CNTR key. I wanted to avoid having to press multiple keys. This is hard on the fingers and not at all pleasant when trying to write with a DVORAK keyboard. But, why all this keyboard magic, what is wrong with the mouse?

The mouse is easy to use. It does not require much training, but it requires more precision. Carefully having to select between words is easy enough but it gets tedious. I seem to work slower with a mouse when editing text. I do not know if this is an illusion or not. But, I just don’t like the strain of switching between the mouse and the keyboard. Is this more efficient than taking the time to remember keyboard shortcuts ? I think once a shortcut is memorized, it is much easier and faster to stick to the keyboard rather than reach for the mouse.

There is no easy way of integrating Mac Os X terminal Vim and the system clipboard. Of course the file system is inaccessible with anything but the CLI. There are concerns about formatting which I still haven’t quite figured out yet(extra tabs and spaces appearing). I will also hit some mysterious combination of letters and the text rearranges or disappears.I wonder if the time I’m spending learning Vim is not better spent actually writing? Since using MacVim instead of terminal Vim, my concerns about integrating the editor into the Mac Os X are unfounded and I get to use Mac Os X keyboard shortcuts (the very thing that I said I wanted to avoid -turns out I don’t want to avoid them that much, but would prefer not to have to use keyboard cursor movements.)

I am enjoying the experience of editing in Vim. But, I’m anything but efficient.This is more a matter of learning and experience, but is the payoff of learning this system worth the effort? Perhaps, I would be even more efficient if I just spend more time writing rather than having to fiddle with a 20-year-old editor. But, editing with Vim is almost like a game; what magic combination of codes do I need to make my change?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: