Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #49829

Re: Important features for editors

From Dave Angel <davea@davea.name>
Subject Re: Important features for editors
Date 2013-07-04 05:02 -0400
References <0eab9d68-da63-41b0-bad4-d7b4457128ce@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.4213.1372928582.3114.python-list@python.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Important features for editors cutems93 <ms2597@cornell.edu> - 2013-07-04 00:32 -0700
  Re: Important features for editors Νίκος <nikos@superhost.gr> - 2013-07-04 10:59 +0300
    Re: Important features for editors Dave Angel <davea@davea.name> - 2013-07-04 04:34 -0400
      Re: Important features for editors Νίκος <nikos@superhost.gr> - 2013-07-04 12:14 +0300
        Re: Important features for editors Chris Angelico <rosuav@gmail.com> - 2013-07-04 20:03 +1000
        Re: Important features for editors Robert Kern <robert.kern@gmail.com> - 2013-07-04 12:01 +0100
          Re: Important features for editors Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-07-04 15:48 +0000
        Re: Important features for editors Steve Simmons <square.steve@gmail.com> - 2013-07-04 14:33 +0100
          Re: Important features for editors Νίκος Γκρ33κ <nikos@superhost.gr> - 2013-07-04 16:36 +0300
            Re: Important features for editors feedthetroll@gmx.de - 2013-07-04 07:03 -0700
          Re: Important features for editors rusi <rustompmody@gmail.com> - 2013-07-04 07:02 -0700
            Re: Important features for editors Steve Simmons <square.steve@gmail.com> - 2013-07-04 16:35 +0100
            Re: Important features for editors Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-07-04 15:46 +0000
        Re: Important features for editors Grant Edwards <invalid@invalid.invalid> - 2013-07-04 18:40 +0000
          Re: Important features for editors Ferrous Cranus <nikos@superhost.gr> - 2013-07-04 21:52 +0300
            Re: Important features for editors Chris Angelico <rosuav@gmail.com> - 2013-07-05 07:59 +1000
            Re: Important features for editors Jason Swails <jason.swails@gmail.com> - 2013-07-04 17:59 -0400
            Re: Important features for editors Terry Reedy <tjreedy@udel.edu> - 2013-07-05 03:25 -0400
            Re: Important features for editors Grant Edwards <invalid@invalid.invalid> - 2013-07-05 14:11 +0000
    Re: Important features for editors Νίκος Gr33k <nikos@superhost.gr> - 2013-07-05 10:41 +0300
      Re: Important features for editors feedthetroll@gmx.de - 2013-07-05 01:28 -0700
  Re: Important features for editors Dave Angel <davea@davea.name> - 2013-07-04 05:02 -0400
  Re: Important features for editors Tim Chase <python.list@tim.thechases.com> - 2013-07-04 08:22 -0500
  Re: Important features for editors MRAB <python@mrabarnett.plus.com> - 2013-07-04 15:24 +0100
    Re: Important features for editors rurpy@yahoo.com - 2013-07-04 08:56 -0700
      Re: Important features for editors Steve Simmons <square.steve@gmail.com> - 2013-07-04 17:14 +0100
  Re: Important features for editors William Ray Wing <wrw@mac.com> - 2013-07-04 09:42 -0400
  Re: Important features for editors Tim Chase <python.list@tim.thechases.com> - 2013-07-04 16:03 -0500
  Re: Important features for editors Joshua Landau <joshua.landau.ws@gmail.com> - 2013-07-05 01:38 +0100
    Re: Important features for editors Roy Smith <roy@panix.com> - 2013-07-04 21:50 -0400
      Re: Important features for editors Cameron Simpson <cs@zip.com.au> - 2013-07-05 12:59 +1000
  Re: Important features for editors Dave Angel <davea@davea.name> - 2013-07-04 21:15 -0400
  Fwd: Important features for editors Göktuğ Kayaalp <goktug.kayaalp@gmail.com> - 2013-07-04 11:07 +0300
    Re: Important features for editors rusi <rustompmody@gmail.com> - 2013-07-05 05:12 -0700
      Re: Important features for editors Cameron Simpson <cs@zip.com.au> - 2013-07-06 09:06 +1000
      Re: Important features for editors Rustom Mody <rustompmody@gmail.com> - 2013-07-06 08:43 +0530
        Re: Important features for editors Roy Smith <roy@panix.com> - 2013-07-05 23:25 -0400
          Re: Important features for editors Joshua Landau <joshua.landau.ws@gmail.com> - 2013-07-06 05:35 +0100
            Re: Important features for editors rusi <rustompmody@gmail.com> - 2013-07-05 22:19 -0700
              Re: Important features for editors Joshua Landau <joshua.landau.ws@gmail.com> - 2013-07-06 07:19 +0100
      Re: Important features for editors Rustom Mody <rustompmody@gmail.com> - 2013-07-06 13:39 +0530
      Re: Important features for editors "Eric S. Johansson" <esj@harvee.org> - 2013-07-06 02:52 -0400
  Re: Important features for editors jussij@zeusedit.com - 2013-07-07 23:16 -0700
    Re: Important features for editors Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-07-08 06:37 +0000
      Re: Important features for editors Skip Montanaro <skip@pobox.com> - 2013-07-08 05:21 -0500
      Re: Important features for editors Sivaram Neelakantan <nsivaram.net@gmail.com> - 2013-07-08 19:54 +0530
      Re: Important features for editors Skip Montanaro <skip@pobox.com> - 2013-07-08 13:03 -0500

csiph-web