Alan Gauld wrote:

"Lie Ryan" <[EMAIL PROTECTED]> wrote

I've seen vi(m) being praised a lot, well, personally the thing that I
hate the most about vim is its directional button (khjl) which is
unnatural

But very logical and easy to remember when you recall
that ^H was backspace (go left), and ^j was linefeed
(go down)  and the typists home position has the right hand
on ,j,k,l, (and if you use your imagination K looks a bit like

Not only that, but a lot of early terminals actually had arrow symbols printed on the h j k l keycaps, so no imagination necessary :)

So a lot of it is tradition mixed with convenience (even if they're not strictly on the home positions, they're very easy and natural to get to as opposed to more mnemonic key bindings like ^P or ^N or whatever). Arrangements like wasz would probably have worked fine too but just didn't happen to.

Remember that the default mode in vi is "editing mode" with is actually
where you type commands. The mode you call editing mode is
actually insert mode and only applies for the duration of a command.
Thus it is logical, from command mode, to enter a command, enter trext
and then hit ESC to escape from insert mode back to the native
editing/command mode. You have to get used to the idea that inserting
text is not the default activity, navigating and changing text is - which is
what most programmers do most of the time. So a command in
vim consists of:

I guess this is where having come from TECO before learning vi paid off for me, so that was really ingrained by then :)

But the whole point of vi/vim is that you are required to change your
way of thinking about text editing. It is a different approach in the
same way that Lisp or Prolog  or SQL are very different approaches
to programming from Python. There is no escaping the fact that
vi/vim are very powerful but only after you invest heavily in learning
their ethos. Until you do they will drive you nuts! But if you use
them regularly that only last a week or so... :-)

And that's an excellent point with regard to languages too. Learning a new language is always a good thing to do if it changes how you look at programming. Only knowing how to edit text in one fashion with one tool makes as much sense as only knowing one way to write a program, in one language.

--steve
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to