On 07/04/2013 03:32 AM, cutems93 wrote:
I am researching on editors for my own reference. I found that each of them has 
some features that other don't, but I am not sure which features are 
significant/necessary for a GOOD editor. What features do you a good editor 
should have? Keyboard shortcuts? Extensions?


Not sure what you mean by keyboard shortcuts. If you mean there should be a keyboard version of anything that can be done with the mouse, absolutely.

There are hundreds of features that could be listed, and only you can decide which ones are important. I'll try to list a few that are important to me, and some more that would sure be nice.

Very important:
--------------

It runs on every platform I'm using. It's extremely fast, when run locally, and reasonable over a slow internet connection.

Licensing is free, or very inexpensive

It opens and edits files of fairly arbitrary size (at least 10 MB)

It has a large number of potential buffers, for editing multiple files at the same time.

It can readily be customized, on a per-language basis, so that it can easily handle the quirks of each language. And it switches between them based on file name, without explicitly setting some mode. However, if the filename is unconventional, it allows the buffer to be explicitly set to a particular language, not affecting other files that are simultaneously open.

It comes pre-customized for the languages I'm likely to use now. That includes pseudo languages like html, xml, css, not just "programming languages."

It supports my own strange preferences for tab-handling, or at least can be customized to do so.

It recognizes immediately when a file has been changed on disk, and gives me reasonable ways to merge my current edits into what's now in the disk file.

It doesn't force me to accept .bak or other funny files; that's what dvcs systems are for. It CAN create such files while a file is being edited, they just shouldn't persist after the editor is normally closed.

If it has project files, they should be out of band, not mixed in with source files I'm editing.

Nice to have:
------------

It has visible spaces (and tabs, and other funny white-space characters)

It can be run in an ssh session, remotely, over a satellite internet connection and vpn.

Customization language is one I'm comfortable with.  Not VBA or javascript.

Mandatory for Python use:
------------------------

It understands indenting, and lets you easily get to the various columns that are legal at any point. This means it recognizes if statements and suchlike, and indents (4) spaces for the following line. And when you want to unindent, you don't have to use 4 backspaces, but just press the tab again.

Nice for Python use:
-------------------

Syntax coloring.

Re-indenting a group of lines by plus-or-minus 4 columns.



Now, you may be asking about an IDE. And that's a whole other kettle of fish. Context-sensitive auto-completion, jump to definition, refactoring support, data breakpoints, ...


Candidates?
emacs - standard on most OS's, available for Windows from various websites
   Komodo Edit    free
          http://www.activestate.com/komodo-edit
   Komodo IDE   not free
      http://www.activestate.com/komodo-ide


--
DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to