3 ms·
vim is a line-oriented text editor. When using vim, my mental model of the file is an array of (mutually non-contiguous) arrays of characters, not a single arra
by blt 4y ago
vim is a line-oriented text editor. When using vim, my mental model of the file is an array of (mutually non-contiguous) arrays of characters, not a single array of characters. I expect the same is true for most proficient vim users.
This is clearly a great fit for programming in most languages, but it also works well for natural language. You can put one sentence per line or even split up long sentences into clauses. Then you use the line-manipulation commands to make big edits quickly. Of course, this only works for formats like LaTeX and HTML where consecutive nonempty lines are merged into one line for rendering.
Under the "array of lines" mental model, it doesn't make sense to hold down the right arrow key and traverse the entire document. You move to the desired line first, then move to the desired position in the line.
I agree the two models are basically incompatible. I don't like editing text in non-vim interfaces and will generally open vim for anything longer than this comment.