Best editor?

C

ChinStrap

When not using the interactive prompt, what are you using? I keep
hearing everyone say Emacs, but I can't understand it at all. I keep
trying to learn and understand why so many seem to like it because I
can't understand customization even without going through a hundred
menus that might contain the thing I am looking for (or I could go
learn another language just to customize!).

Personally I like SciTE, it has everything I think a midweight editor
should: code folding, proper python support, nice colors out of the
box, hotkey access to compile (I'm sure emacs does this, but I couldn't
figure out for the life of me how), etc.

Opinions on what the best is? Or reading I could get to maybe sway me
to Emacs (which has the major advantage of being on everyone's system).
 
W

wittempj

I use gedit under gnome, works perfect, it is very easy to use, it has
the colours - it also supports other languages.
 
B

beliavsky

ChinStrap said:
When not using the interactive prompt, what are you using? I keep
hearing everyone say Emacs, but I can't understand it at all. I keep
trying to learn and understand why so many seem to like it because I
can't understand customization even without going through a hundred
menus that might contain the thing I am looking for (or I could go
learn another language just to customize!).

Epsilon http://www.lugaru.com/ is a commercial Emacs-like editor with a
built-in Python mode and will automatically treat .py files as being
Python. No fiddling is required. It works well, and I spend many of my
waking hours in front of an Epsilon (even created a Fortran mode :)). I
think Epsilon is used more on Windows than Linux/Unix, where Emacs and
XEmacs have existed for a long time, but an Epsilon license contains
binaries for Linux and other Unices as well.

XEmacs/Emacs frustrate me, for example constantly asking if I want to
enable a "recursive mini-buffer", which I have no clue about or
interest in. Epsilon is a well-done Emacs IMO.

A key benefit of Emacs-like editors, including Epsilon, is that one can
run the shell (cmd.exe prompt on Windows, bash/csh/ksh on Unix) from
within the editor. One can fill the entire screen with an Emacs, split
it into buffers for source codes and a shell, and live happily ever
after :). Standard output is not lost but can be retrieved just by
scrolling up in the editor. I am addicted to running a shell within an
Emacs-like editor.

Of course there are many good editors -- don't feel obligated to use
Emacs if you are happy and productive with something else.
 
G

Georg Brandl

Epsilon http://www.lugaru.com/ is a commercial Emacs-like editor with a
built-in Python mode and will automatically treat .py files as being
Python. No fiddling is required. It works well, and I spend many of my
waking hours in front of an Epsilon (even created a Fortran mode :)). I
think Epsilon is used more on Windows than Linux/Unix, where Emacs and
XEmacs have existed for a long time, but an Epsilon license contains
binaries for Linux and other Unices as well.

$250 just for an Emacs clone? Sorry, but this is a bit greedy. Sure, it does
some things differently, but in the same time you learn Epsilon, you can
learn Emacs.
XEmacs/Emacs frustrate me, for example constantly asking if I want to
enable a "recursive mini-buffer", which I have no clue about or
interest in. Epsilon is a well-done Emacs IMO.

constantly? You seem to make fundamental mistakes using Emacs. Reading one or
two tutorials could have helped.

mfg
Georg
 
I

Ivan Van Laningham

A

Aahz

When not using the interactive prompt, what are you using? I keep
hearing everyone say Emacs, but I can't understand it at all. I keep
trying to learn and understand why so many seem to like it because I
can't understand customization even without going through a hundred
menus that might contain the thing I am looking for (or I could go
learn another language just to customize!).

Use vim. 80% of the power of emacs at 20% of the learning curve.
--
Aahz ([email protected]) <*> http://www.pythoncraft.com/

"The joy of coding Python should be in seeing short, concise, readable
classes that express a lot of action in a small amount of clear code --
not in reams of trivial code that bores the reader to death." --GvR
 
I

Ivan Van Laningham

Hi All--
Use vim. 80% of the power of emacs at 20% of the learning curve.

I think Aahz has it dead on. Umpty-mumble years ago I spent six weeks
learning emacs lisp and customizing emacs until it did EXACTLY what I
wanted. It was a great user interface, logical, consistent,
orthagonal. It had only one thing wrong with it; it depended on
hardware keyboard features that PC keyboards don't have.

It would have taken me six weeks to retrain myself to the standard emacs
interface, so I used vi. When vim became available, I switched to
that. There's a good book available for vim:

http://www.amazon.com/exec/obidos/A...1/sr=2-1/ref=pd_bbs_b_2_1/102-7196910-2449750

It's excellent; even the index is useful, which is more than I can say
for 80% of the O'Reilly books out there, much as I love 'em.

Metta,
Ivan
----------------------------------------------
Ivan Van Laningham
God N Locomotive Works
http://www.andi-holmes.com/
http://www.foretec.com/python/workshops/1998-11/proceedings.html
Army Signal Corps: Cu Chi, Class of '70
Author: Teach Yourself Python in 24 Hours
 
S

Steve Holden

ChinStrap said:
When not using the interactive prompt, what are you using? I keep
hearing everyone say Emacs, but I can't understand it at all. I keep
trying to learn and understand why so many seem to like it because I
can't understand customization even without going through a hundred
menus that might contain the thing I am looking for (or I could go
learn another language just to customize!).

Personally I like SciTE, it has everything I think a midweight editor
should: code folding, proper python support, nice colors out of the
box, hotkey access to compile (I'm sure emacs does this, but I couldn't
figure out for the life of me how), etc.

Opinions on what the best is? Or reading I could get to maybe sway me
to Emacs (which has the major advantage of being on everyone's system).
There is only a "best" editor if you aare convinced that only oine
measure is important, allowing you to place all editors on a single
straight line and declare the one that appears furthest to the left or
right the "best".

In practice, of course, different people value different editor
characteristics, so there are a multitude of opinions about which is "best".

regards
Steve
 
?

=?iso-8859-1?Q?Fran=E7ois?= Pinard

[Aahz]
Use vim. 80% of the power of emacs at 20% of the learning curve.

I used Emacs for a long while, and learned it a bit thoroughly. I
also learned Vim mor recently, and still have many things to study.
See http://pinard.progiciels-bpi.ca/opinions/editors.html for some
(incomplete) thoughts on both, Emacs in particular.

If you do only light use of editors, both Emacs and Vim are rather easy,
despite tinily annoying for some details, each its own details :). If
you deeply use them, they both require a lot of learning, eventually.
Emacs does a few things that are difficult in Vim, but we can usually
live without those few things, not overly missing them. Both editors
are also extensible with Python, and Vim does Python a bit more nicely.
Overall, Vim is also cleaner than Emacs, and this pleases me.

This in between light and deep use that Aahz is most right: Vim offers
many niceties that undoubtedly require some learning, yet significantly
less than Emacs. Emacs has a lot more knobs to adjust, which is not
always so advantageous for average users, and overkill for casual users.

Whatever Emacs or Vim, learn to extend it with Python. There, you get a
great deal of added power and flexibility for almost free, assuming and
given that you already are a Python lover.
 
P

Paul McGuire

SciTE (Scintilla Text Editor) is just right for me too. Low overhead,
great just as a Notepad alternative, but with good coding support too.

-- Paul
 
J

James Stroud

I keep hearing everyone say Emacs, but I can't understand it at all.

Both emacs and vi suffer from the fact that they can not be used by ordinary
humans. Thus, I recommend using either to impress your friends.

James
 
M

Michael George Lerner

Aahz said:
Use vim. 80% of the power of emacs at 20% of the learning curve.

A system administrator said this to me about unix a long time ago,
but it applies equally well to emacs:

Emacs is a great place to live, but I'd hate to visit.

-michael, an (x)emacs user
 
M

Mike L.G.

ChinStrap said:
Opinions on what the best is? Or reading I could get to maybe sway me
to Emacs (which has the major advantage of being on everyone's system).

When I first started using emacs, progress
was slow, but through my persistence, I was
able to harness the power of a very powerful
editor. I find that with emacs I rarely
touch the mouse when editing code.

I just love the idea of splitting emacs into
multiple windows, one with my current
projects source code, another one with
py-shell loaded up (which makes for a
wonderful interactive python session with all
of your emacs key bindings), a third window
with GNUS (emacs news-reader) and lastly
chatting in a 4th window with ERC, an emacs
IRC chat client. Doing all these activities
from within one editor just gives one an
enormous sense of satisfaction. A one stop
shop editing tool-box at your disposal.

For me, maximum comfort working within emacs
included swapping the CTRL key with the CAPS
lock key. It's just so much more comfortable on
the pinky finger! In windows this meant
changing a registry key and on linux, altering
a keymap config. file.

Emacs may seem awkward at first, but the
payoff was amazing for me. This is
comparable to my first experiences with
python. Now, one of my greatest joys is
writing python code using emacs.
 
M

Miki Tebeka

Hello ChinStrap,
When not using the interactive prompt, what are you using? I keep
hearing everyone say Emacs, but I can't understand it at all. I keep
trying to learn and understand why so many seem to like it because I
can't understand customization even without going through a hundred
menus that might contain the thing I am looking for (or I could go
learn another language just to customize!).
Emacs (or VIm in my case) takes time to learn. However when you start to
understand it and know you way around it'll do things no other editor will
do for you.
Personally I like SciTE, it has everything I think a midweight editor
should: code folding, proper python support, nice colors out of the
box, hotkey access to compile (I'm sure emacs does this, but I couldn't
figure out for the life of me how), etc.
If you're happy with SciTE stay with it.
Opinions on what the best is? Or reading I could get to maybe sway me
to Emacs (which has the major advantage of being on everyone's system).
Everyone has his/her/it own favorite editor. It's very individual, I'm
hooked on VIm while others won't touch it.

HTH.
--
------------------------------------------------------------------------
Miki Tebeka <[email protected]>
http://tebeka.bizhat.com
The only difference between children and adults is the price of the toys

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Cygwin)

iD8DBQFCU3Vn8jAdENsUuJsRAmUsAJ4hO4zQ1orWK/aiew3GRAl0rwIvawCfXmfs
TrErs4wAECxVV9WfHfVkQnM=
=U7aj
-----END PGP SIGNATURE-----
 
V

Ville Vainio

Miki> Emacs (or VIm in my case) takes time to learn. However when
Miki> you start to understand it and know you way around it'll do
Miki> things no other editor will do for you.

Other editors also do stuff Emacs won't do. Code completion is a
killer feature and emacs sucks at it (yes, w/ Cedet too).

Emacs is pretty good for Python if you can't wait for something like
Eclipse+pydev to start (which is a good choice, and worth
learning). Emacs is not necessarily worth learning unless you are an
emacs user already. Emacs also looks so horrible in Linux that I tend
to go for Kate when I'm at home.
 
?

=?iso-8859-1?Q?Fran=E7ois?= Pinard

[Mike L.G.]
Emacs may seem awkward at first, but the payoff was amazing for me.

Same here. A good editor may tremendously increase your productivity.
However, nowadays, good editors abound, to the point that people are
not so astonished by them. I've been around for many years, and a
good while ago, people were not stumbling on good editors as they do
nowadays. At that time, something like Emacs was quite a breakthrough.

I guess that Python is extraordinary wonderful, or not that much,
depending on your background. Younger people are exposed to many good
languages, so they all seem more natural to them. If I compare Python
to FORTRAN, COBOL or Assembler, the change is impressive. If I only
could have had something like Python when I started, years ago, and
considering all the work invested, where would I be today! :)
 
H

Harry George

ChinStrap said:
When not using the interactive prompt, what are you using? I keep
hearing everyone say Emacs, but I can't understand it at all. I keep
trying to learn and understand why so many seem to like it because I
can't understand customization even without going through a hundred
menus that might contain the thing I am looking for (or I could go
learn another language just to customize!).

Personally I like SciTE, it has everything I think a midweight editor
should: code folding, proper python support, nice colors out of the
box, hotkey access to compile (I'm sure emacs does this, but I couldn't
figure out for the life of me how), etc.

Opinions on what the best is? Or reading I could get to maybe sway me
to Emacs (which has the major advantage of being on everyone's system).

The key (as others have said) is to know your editor and be effective
with it. As long as it can handle ASCII, does autoindent, and knows
tab-is-4-chars, then it is a viable choice.

Since you asked specifically about emacs, and whether or not it is
worthwhile...

I've used emacs for 15 years, and am still learning useful new tricks
at a rate of about one per 6 months. But I've also found that the
essentials can be taught in a 2 hour session and mastered in about 2
weeks of use. I've taught dozens of people using this "Essential
Emacs" approach.

We find that emacs is for people who will be doing serious editing all
day long (e.g., programmers). I like that comment from another
poster: "Emacs is a good place to live, but I wouldn't want to visit
there."

For people who will just be editing an occassional file (and no python
code), we recommend notepad or nedit.

Now then, how do we use emacs?

1. Proper setup is essential. Assuming you have python-mode.el and
..elc in emacs's program-modes dir, then your .emacs needs:

;---python---------------------------
(load "python-mode")
(setq auto-mode-alist
(cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist
(cons '("python" . python-mode)
interpreter-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
(add-hook 'python-mode-hook 'turn-on-font-lock)
(setq python-mode-hook 'python-initialise)
(defun python-initialise ()
(interactive)
(setq default-tab-width 4)
(setq indent-tabs-mode nil)
)


2. I almost never use the interactive prompt. There are people here
who do, but as soon as the script is more than a couple lines long, it
takes longer to reenter the code (even copy-and-paste) than to
edit-save-run a dummy batch script. When I'm doing Extreme
Programming with such people, I insist on using a stopwatch and
checking which approach is more efficient -- they usually come over to
my approach.

3. I run emacs with split windows:
a) Edit the working code
b) Edit the unittest code
c) Run a shell script, where I (re)run the "go_test" script by doing
alt-p ret

In another frame (same emacs process, different frame) I keep the
oracle (known good) and test outputs in split windows, and maybe do
ediff-buffers on them if the deltas are not obvious.

For each module under consideration (view or edit), I use a separate
emacs process in a similar manner. In normal work, that means 1-4
emacs processes running, each with its own shell and own test cycles.

4. Elsewhere I'm running emacs rmail all day, and run emacs gnus several
times a day (like now).

5. When I do Extreme Programming, the other author(s) tend to be using
emacs, vim, or nedit. We don't let people use notepad for python
becuause it doesn't know proper formatting. IDE's tend to want to own
the whole show, which makes cross-tool Extreme Programming a pain.

As long as the other programmers have set their editors for
auto-indention and tab-is-4-chars, then we get along fine. [I do
notice a sizeable delay when vim people search for the appropriate
shell windows, instead of having them in a (joined-at-the-hip) split
window. This has more to do with bookkeeping than with editors per
se, but it is a data point.]

6. On IDE's and code-completion: If you are going to be typing the
same thing over and over, why not use a function, or maybe code
generation?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,058
Latest member
QQXCharlot

Latest Threads

Top