New to python, do I need an IDE or is vim still good enough?
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Mon Dec 31 22:46:25 EST 2012
On Sat, 29 Dec 2012 14:00:23 -0500, Mitya Sirenef wrote:
> I think the general idea is that with editors like Vim you don't get
> distracted by having to do some kind of an editor task, letting you keep
> your full attention on the code logic. For instance, if I need to change
> a block inside parens, I type ci) (stands for change inside parens),
> while with a regular editor I'd have to do it manually and by the time
> I'm done, I'd forget the bigger picture of what I'm doing with the code.
See, by the time I remembered what obscure (to me) command to type, or
searched the help files and the Internet, I'd have forgotten what the
hell it was I was trying to do. Well, almost. My memory is not quite that
bad, but it would certainly be a much bigger disruption to my coding than
just doing the edit by hand.
I do love the power of command line tools, but I think that for rich
applications like editors, the interface is so clunky that I'd rather use
a less-powerful editor, and do more editing manually, than try to
memorize "hundreds" of commands.
With a GUI app, I can run the mouse over the menus and see a high-level
overview of everything the app can do in a matter of a second or two.
(Perhaps three or five seconds if the app over-uses hierarchical menus.)
But with a text interface, commands are much less discoverable. I can
also use *spacial* memory to zero in on commands much more easily than
verbal memory -- I have no idea whether the command I want is called
"Spam" or "Ham" or "Tinned Bully Beef", but I know it's in the top
quarter of the "Lunch" menu, and I will recognise it when I see it.
On the other hand, it's a lot harder to use a GUI app over a slow SSH
connection to a remote machine in a foreign country over a flaky link
than it is to use a command line or text-interface app.
> Another example: >ap stands for "indent a paragraph (separated by blank
> lines)". And there are many dozens if not hundreds such commands that
> let you stay focused on the logic of your code.
Ah yes, the famous "a for indent" mnemonic. *wink*
> The trade-off, of course, is that you have to remember all (or most) of
> the commands, but I figured if I spend the next 20-30+ years programming
> in some version of Vim, it's well worth the initial investment.
>
> By the way, to help me remember the commands, I wrote a small script
> that lets me type in a few characters of a command or its description
> and filters out the list of matching commands. It really helps,
> especially when I change a lot of my mappings.
It seems to me, that by the time I would have searched for the right
command to use, decided which of the (multiple) matching commands is the
right one, then used the command, it would have been quicker and less
distracting to have just done the editing by hand. But now I'm just
repeating myself.
--
Steven
More information about the Python-list
mailing list