I just don’t like vi!

I’m not trying to make you like it. :-)

Liking something or not is really far more subjective than the arguments we make to rationalise our choices. Concerning the editor war, I once wrote:

Who seriously expects to convert anyone from the other side? I certainly don’t. If anyone is engaging in this squabble with any seriousness, they have my pity. :-)

I love this war. Other people dress up and go to Ren Fair; I write long and passionate speeches about virtues of Vim and the devil that is Emacs.

So consider the rest of my arguments in this light. I’m countering your rationale with various arguments, but if you don’t like it, you don’t like it.

The one thing I don’t understand, though, is saying that the normal mode commands are not wordwise mnemonic. c2w for “change two words” or w for “move to next word” feel very mnemonic to me. That they don’t relate to anything else you use is another matter.

As for the overlaying multiple functions on a key, this is no different from any other editor. Think about it: when you’ve popped down a menu in your GUI, hitting “a” or, say, the cursor keys does something other than when the edit widget is focussed. You are in “menu mode.” Likewise, all editors have modes in one form or another – they just manifest differently and less explicitly. The other difference is that you can’t easily combine commands, f.ex. something like :g/foo/s/bar/baz/g in vi which replaces bar with baz but only on lines containing foo.

Note that I use vim, not vi. It’s trumps its ancestor in innumerable ways and addresses many of your complaints. That does not really detract from the “everywhere” argument – vim is what’s for dinner on everything Linux and on every Windows machine that has a vi; it is also usually the installed variant on other machines. But I can still get by with any non-vim clone of vi, even though they’re not as familiar. I’m never ever completely lost, only slightly hampered in some environments (just like not having my .vimrc around is a hassle, but a minor one).

Vim understands cursor keys – in any mode, too. However I’ve now configured other things like my browser for hjkl navigation, despite not being a touch typist. I find that while a keyboard has 104 keys, your hands are only so large… It is a slower transition than if I were a touch typist, yet I’m still trending there over time.

Vim also has a clear mode indicator – there’s a prominent --INSERT-- indicator on the command line when in insert mode. gvim even goes one better: it shows a block cursor in normal mode and a insert mark cursor in insert mode. You never lose track of the mode. gvim also has programmable menus which come with a nice default layout. In fact, I use the Edit menu quite frequently for some things because the sequence of menu shortcut keys is easier to type than the respective normal mode command.

I don’t have my shell set to use vi mode precisely because there’s no indicator of the mode, and you tend to alternate modes much more often on the shell, which makes this really annoying. Which is a pity, actually, because I’d love to use vi mode in shell. I often find myself wishing things like “if only I could just dt; now” (translation: delete to ;).

Makeshifts last the longest.


In reply to Re^6: Word replace - notetab light vs perl by Aristotle
in thread Word replace - notetab light vs perl by kiat

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.