###Your problem with Vim is that you don't grok vi.
Source: http://stackoverflow.com/a/1220118/540977
You mention cutting with yy
and complain that you almost never want to cut whole lines. In fact programmers, editing source code, very often want to work on whole lines, ranges of lines and blocks of code. However, yy
is only one of many way to yank text into the anonymous copy buffer (or "register" as it's called in vi).
The "Zen" of vi is that you're speaking a language. The initial y
is a verb. The statement yy
is a synonym for y_
. The y
is doubled up to make it easier to type, since it is such a common operation.
This can also be expressed as dd
P
(delete the current line and paste a copy back into place; leaving a copy in the anonymous register as a side effect). The y
and d
"verbs" take any movement as their "subject." Thus yW
is "yank from here (the cursor) to the end of the current/next (big) word" and y'a
is "yank from here to the line containing