Important features for editors

Dave Angel davea at davea.name
Thu Jul 4 05:02:40 EDT 2013


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




More information about the Python-list mailing list