a good programming text editor (not IDE)

63q2o4i02 at sneakemail.com 63q2o4i02 at sneakemail.com
Sat Jun 17 04:44:41 EDT 2006


Istvan Albert wrote:
> Scott David Daniels wrote:
>
> > To paraphrase someone else (their identity lost in my mental fog) about
> > learning VI:
> >      "The two weeks you'll spend hating vi (or vim) as you learn it will
> >       be repaid in another month, ad the rest is pure profit."
>
> Time and again I hear this (no shortage of Vim fans, same with Emacs),
> and I know I should know better but always believe them yet again.
> Invariably I download Vim play with it for an hour, get increasingly
> frustrated and give up. Most likely I'm greatly spoiled by using
> EditPlus (Windows only), it just makes it so easy to do the basic
> programming tasks that I need, everywhere else I turn I see far more
> functionality but at the price of not being able to do basic tasks as
> efficiently as I need them.
>
> Say I want to be able to execute the python program I'm currently
> editing. Nothing simpler in EditPlus,  Tools->Configure Tools->Add Tool
> then specify which program you want to run, what parameters it takes
> and whether to capture the output or not ... total time it took me
> first time I wanted to do this ...  about 3 minutes ... from now on
> pressing Ctrl-1 while editing the source will execute the python on the
> current source *and* it  displays the output in a lower pane as it runs
> *and* it allows me to simultanously edit the file *while* the program
> is running. Outstanding.
>
> Yet after searching and reading stuff for more than an hour I was
> unable to accomplish the same thing in Vim though I'm already familiar
> enough with basic editing and setup  (through my previous trials and
> tribulations)  ... I have a few solutions that end up doing something
> similar but are quite a few  keypresses longer both to invoke or to get
> back to the source that I'm writing, or I lose editing control while
> the program is running ... etc...
>
> So if the OP is on windows just head over and get EditPlus (UltraEdit
> and TextPad seem to be similar), and just accept the fact that you are
> already using an editor that as good as an editor can get ... I know
> I'd pay that registration once again for an editor that works the same
> way on Linux...
>
> i.

I'm a huge EditPlus fan and there are not enough good things I can say
about it.  The main thing about GUIs which unix people don't seem to
get is discoverability is key.  Every time I've tried using x-emacs or
x-anything (or even Scite as it seems to be popular), there is very
little that is intuitive or obvious about the interface, and even
though you have a GUI right there in front of you, things are still
controlled in dot whatever files, with some special syntax and magic
words for everything!  Even doing a search and replace in x-emacs is
f*cked up.  I was trying to use it for something a few years ago (I
dunno, maybe 2002 or 2003 on debian or 2000 on redhat), and it just
didn't work the way I expected it to work, ie it didn't follow what has
become the standard GUI (read: windows) way of doing things.  There
should be a dialog for search and replace.  If it doesn't do it that
way, then don't pretend to be a gui, because you're not, you're
pandering to the "we want a gui crowd" while still stickin' it to 'em
by forcing them to remember commands for shit like changing word
wrapping (oh my god there's a *mode* for word wrapping? m-x-wtf
change-the-mode-to-something-I-forget-what) and reminding everyone what
a privilege it is to learn f***king lisp to enable some obscure little
tweak which could just as easily have shown up in a checkbox.  Scite
was jacked because the main window didn't have anything discoverable on
it, and one of the main menus just had a list of syntaxes you could use
to highlight your code... and the other menu opened up your dot
whatever file to change the settings.  That's just retarded.

I think there is a fine line between being too dumbed down to do
anything (point click ooh aahh), and so "flexible", "customizable", and
"free" that it feels you have to roll-your-own text editor each time
you want to start a new project.  This is the best article on guis and
stuff I've read in a while.
http://www.joelonsoftware.com/uibook/fog0000000249.html

Anyway, the only thing editplus doesn't do that I wish it did is code
folding.  All the stuff you guys are talking about: line numbers,
syntax highlighting, custom tools (running the interpreter), regexp
search and replace, keeping your environment the same between sessions,
soft word wrap, tab-vs-spaces, auto-indent, braces-matching, bla bla...
it does it all in an appropriately gui manner without making you feel
like a moron for not psychically knowing the command ahead of time, or
for not having someone to copy a dot whatever file from, or not Reading
TFM (which of course never tells you what you want to know anyway --
it's either a patronizingly simple-minded 3rd grade tutorial, or it
tells you what a command does if you already know its f***king name!).
And of course all these editplus things are accessible via the keyboard
without necessarily hitting alt to go to the menu.  And no, it doesn't
read email or newsgroups, run custom scripts to beautify your code, or
have 20MB of stuff to download and 20 years of history to catch up on.
I've rarely needed anything more than straightforward editing, so I
guess I'm not worthy to have an opinion of how shitty *nix is for
pretending to have guis.  If you (meaning y'all) like to feel superior
by memorizing commands how to change the word wrapping mode,
braces-indenting mode, background color, foreground color,
braces-matching, apropos-me-this, then by all means make things
difficult for the rest of us lowly non-professional programmers (I'm a
hardware designer by trade, but like to fuck around python for fun).
For me, when I just have something quick and dirty, I use editplus and
that makes me sooo happpyyyyy.  If there were something like this for
Linux I might even consider switching long term.




More information about the Python-list mailing list