[Tutor] Python Editors (particualrly Vim)

George Flaherty George.Flaherty at marketmax.com
Wed Sep 21 15:55:17 CEST 2005

 comments are inline.......

-----Original Message-----
From: tutor-bounces at python.org [mailto:tutor-bounces at python.org] On Behalf Of Ed Singleton
Sent: Wednesday, September 21, 2005 9:00 AM
To: tutor at python.org
Subject: [Tutor] Python Editors (particualrly Vim)

I've been trying to decide which editor to use to edit Python (on Windows mostly).

My wishlist of features would be:

- automatic code formatting (indentation etc)

[george]: Emacs works great with this if you have python mode. Eclispe is the same.

- collapsible code (to collapse def's etc)

[george]: Eclipse is a little easier to perform this, but you can hide lines in Emacs as well. In emacs things are just a bit, "less visual" than eclipse.

- automatic code coloring (that's easily changeable)

[george]: Pretty much any editor will provide with this type of functionality.

- auto-completion of namespaces

[george]: Emacs does not (or I should say I have not found) any type of mode for code complete in python. There are rumors with improvements with CEDET(intellisense) for python, I haven't been able to use them. Eclipse with PyDEV works great, and if you are hardcore linux Eric3 will work too. Although you can run Eric3 on win32 there are a few extra steps needed to install. Also if you work in a commercial development shop, QT licensing for Eric3 might be an issue?

- easy to run scripts from the editor (a shortcut key to run them or something)

[george]: Emacs provides you a shell for which you can execute a script. You can extend lisp in Emacs as well, which is extremely flexible. I am not sure with eclipse regarding external scripts since I have just recently converted to eclipse from emacs(gasp!).I know you can call up python in interactive mode from eclipse, but I not sure how to call something like....myfoo.bat or myfoo.sh.
As with anything in eclipse....I am sure there has to be some type of plug-in or something for it.

As I also do a lot of html, css and javascript it would be cool to have an editor that could also handle them, in which case I would want the same features for those languages, as well as the ability to write macros, scripts, etc in python.

[george]: Lots of editors will support various mode. As for the code completion in javascipt and html I do not have an answer for those. 

Having looked at loads of editors, I've ended up looking at emacs and vim.

Emacs seems too difficult with not enough support for using the mouse.

[george]: Even though I am "some what" moving away from emacs, it is still a great editor. I am sure vim is good too, just my preference to use emacs. For mouse support....

Try including this in your .emacs file

(autoload 'mwheel-install "mwheel" "Enable wheely mouse")

Vim seemed better, and I get the impression that it is possible to use python to script the editor, but I can't find much information on using vim as a python editor on windows.

[george]: I think that is fine, I do not have much experience with vim. I only use it about 5% out of the day, hopefully someone else could help you out.

My various questions are:

What other features should I be looking for?

[george]: I think you have them covered.... You might want to look at integrations with source control (cvs, svn, etc.) too. Also debuggers should be included as well.

What would be the best editor for a beginner to start using, with a view to the long term?

[george]: I think that is really user preference. Try them all out, you will most likely fall into which one fits your own needs.

Where can I find some authoritative information about setting emacs or vim up as a fully featured python editor?

[george]: check out sourceforge or freshmeat for add-ons and other modes.

Good luck


Tutor maillist  -  Tutor at python.org

More information about the Tutor mailing list