Looking for the Perfect Editor

R

Roger

Jay said:
I, too, am a hardcore fan of jEdit. It's nice to finally see some user
support on this forum. :)


The biggest problem I have with anything written in Java is the long
startup time. The editor may be great but the platform is mediocre.

I am a SciTE bigot. I have recently tried SPE and UliPad. UliPad would
be my second choice and is still installed, but SPE was quickly removed.
One feature I like about SciTE is being able to position the cursor
anywhere on a word and hit CTL-F to find the NEXT occurrence.

With UliPad, you have to select the entire word you want to search for,
and then when you hit CTL-F -- it first finds the same occurrence you
selected -- you have to hit F3 to find the next.

I think SciTE is better engineered. Still, much of your choice is
personal preference. I have noticed that any two people using the same
editor will use different keystroke and mouse sequences when presented
with similar editing problems.

Good discussion - I thank the originator of the thread.

Roger
 
R

Ramon Diaz-Uriarte

Sorry, I could not resist, since almost every editor under the sun has
been suggested as the solution, but (X)Emacs only got a minor mention.

I'd love the perfect editor that would be:

a) free

Emacs does of course qualify here.
b) enable me to drag and drop code snippets from a sort of browser into
the code

piece of cake; either using shortcuts (wich you can configure) or from
the "Python" menu
c) can run programs right from within

But of course. And, contrary to some others (e.g., JEdit, which I
think forces you to use Jython, so you are stuck with Python 2.1 for
now) you use the current python interpreter you have installed.

And you can run Python, but also many, many, many other things as
well. (For instance, for me it is of great importance that I use an
almost identical way of working when editing/executing Python as when
working with R, and very similar to what I do with LaTeX, C, etc).
d) can edit

Emacs can edit (almost) anything. With syntax highlight and bells and whistles:


Yes, of course
- Javascript

I think so (but I stay away from JS)
- HTML
Yes

- actionscript (since I'm also learning flash)

No idea
e) easy to learn

Well ...that depends on what you mean and on so many other factors (I
mean, why should it be "Ctrl-O" for open instead of "Ctrl-X Ctrl-F"?)

.... but honestly, Emacs is probably harder to learn (at the beggining)
than JEdit, or SPE, or UliPad, or Scite, or Eclipse. I've tried all
these others, always to return back to Emacs. Because Emacs is a
general purpose editor, and then some: I find it a lot more flexible
and powerful than any of the alternatives suggested so far. However,
the initial barrier might be too high (keybindings are sometimes an
issue, but there is CUA mode, though I've never used it), and Emacs is
so huge that you never really learn it all (and that might lead to
feeling overwhelmed). And needing emacs lisp for
extending/configuring, well, many people (including myself) do not
find ideal.


However, as has been mentioned here before, choosing an editor is a
very personal thing, where idiosincratic issues can (and should) play
a role. I'd suggest you play with a few, then go for one or two, and
make a point of learning it well: if you spend a lot of time editing
code, learning your main tool is of paramount importance and will
definitely increase your productivity. I think many of the ones
mentioned here (including, but not limited to, SPE, JEdit, UliPad) are
very fine editors.

Best,

R.

P.D: Another very nice editor, which can be extended using Python, is
vim. (But I have little experience with it.)
 
W

Wildemar Wildenburger

Ramon said:
But of course. And, contrary to some others (e.g., JEdit, which I
think forces you to use Jython, so you are stuck with Python 2.1 for
now) you use the current python interpreter you have installed.

Wrong. But so terribly wrong ;). Jython is not at all needed to use
python with jEdit. I think the only reason to actually use Jython in
jEdit is for writing plugins in python syntax. No wait, you also get
code completion and a code browser, but thats besides the ppoint here.
The console plugin (probably THE most useful of the pack) gives you a
system shell and means to start compilers/interpreters based on your
current edit mode. So you can use whatever python version you have
installed.

I wonder if this thread will ever stop :)
 
A

Ant

Roger wrote:
....
The biggest problem I have with anything written in Java is the long
startup time. The editor may be great but the platform is mediocre.

The startup time is one of the main reasons I have started to use vim
more than jEdit. That and the fact that I currently have to work on
headless linux servers over ssh, and I'm fed up with constanty hitting
escape for no apparent reason, or typing :w at the end of a line...

Vi is a seriously steep learning curve though, and I wouldn't recommend
it for ease of use. I've been using it on and off for two years now,
and have only just started to use some of the more advanced features...

jEdit however, if you keep it in memory (it can be started in server
mode, where new instances connect to the running instance) it's not too
slow to start up, and is very powerful very quickly. As others have
said, the console plugin is very good, (an equivalent I haven't found
for vim yet - anyone?) jython is only required if you want to write
macros or plugins in python.
 
L

limodou

The biggest problem I have with anything written in Java is the long
startup time. The editor may be great but the platform is mediocre.

I am a SciTE bigot. I have recently tried SPE and UliPad. UliPad would
be my second choice and is still installed, but SPE was quickly removed.
One feature I like about SciTE is being able to position the cursor
anywhere on a word and hit CTL-F to find the NEXT occurrence.

With UliPad, you have to select the entire word you want to search for,
and then when you hit CTL-F -- it first finds the same occurrence you
selected -- you have to hit F3 to find the next.
No, in UliPad you can first select the word(double-click the word),
then press F4 to locate the next position.

And if you install the newest source version of UliPad, it also
suplied an enhanced Input Assistant feature, as type some character in
blank place, it'll popup a list which will match what you type,
including identifiers, class names, function names, parameters names,
etc. And there is also a vim-like shortkey, Ctrl+P, Ctrl+Shift+P,
Ctrl+L, Ctrl+Shift+L(which are in Duplicate menu), they'll match the
word backward or forward to
current position, you can try it.
 
O

OKB (not okblacke)

What I'm interested in knowing is whether anyone has found any
editor other than TextPad and UltraEdit which allows soft word-wrap (no
line breaks stored in the file) which do NOT wrap the text to the left
edge of the screen but instead wrap it back only as far as the
indentation level of the beginning of the line. So that if I start out
on a line indented halfway across the screen, and the line wraps, I get
a block of text, all of which is indented halfway across the screen --
but then it's saved in the file as one long line. In other words, an
editor that separates how the text is DISPLAYED from how it's SAVED.

--
--OKB (not okblacke)
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is
no path, and leave a trail."
--author unknown
 
J

Jorge Godoy

OKB (not okblacke) said:
What I'm interested in knowing is whether anyone has found any
editor other than TextPad and UltraEdit which allows soft word-wrap (no
line breaks stored in the file) which do NOT wrap the text to the left
edge of the screen but instead wrap it back only as far as the
indentation level of the beginning of the line. So that if I start out
on a line indented halfway across the screen, and the line wraps, I get
a block of text, all of which is indented halfway across the screen --
but then it's saved in the file as one long line. In other words, an
editor that separates how the text is DISPLAYED from how it's SAVED.

WYSINWYG -> What You See Is Not What You Get...

It doesn't make much sense to me, though. With Emacs I get the wrapping the
way you want, but it really breaks the lines.
 
S

stu

OKB said:
What I'm interested in knowing is whether anyone has found any
editor other than TextPad and UltraEdit which allows soft word-wrap (no
line breaks stored in the file) which do NOT wrap the text to the left
edge of the screen but instead wrap it back only as far as the
indentation level of the beginning of the line. So that if I start out
on a line indented halfway across the screen, and the line wraps, I get
a block of text, all of which is indented halfway across the screen --
but then it's saved in the file as one long line. In other words, an
editor that separates how the text is DISPLAYED from how it's SAVED.

jEdit.. cough.. does this just fine... sticky indent without adding
linebreaks...
or you can have sticky indent with linebreaks... its up to you

-stu
 
D

David J. Braden

Wildemar said:
jython is an implementation of python in java (hence the name ;)). That
means it's a python interpreter inside a java virtual machine (groan).
It basically lets you write java apps in python syntax. It's currently
at python 2.1 I believe.
jEdit is extensible though java, and with the jython plugin also through
python.

Thanks. That helps me get a sense of the landscape.
Er ... I don't know. What do you mean by 'scientific stuff'?

I've come to sense, in the last (many) threads and topics brought up
that I have read in the last 3 weeks, that this NG attracts folks who
are very much into the web-app interface potential and usefulness of
Python, as you yourself seem to be (see following), and others, such as
I, who appreciate its power for technical apps, such as hard-core stats,
optimization, and integration with even more sophisticated off-the-shelf
apps, as well as home-brewed stuff, hopefully even original algorithms.
I have seen, several times in this NG, references to "scientific
stuff". I take it to mean apps meant for, or used by, folks in
engineering, physics, applied mathematics, exploratory theoretical stats
and practical applied stats (at a very high level) --- these users have
PhDs in areas dealing with "scientific stuff". What's *your* view take
on this?
You might want to look at python packages such as scipy (?) or numpy
(for numerical calculations) or whatever those are called.

"Whatever those ..." ?!? Maybe this clarifies my response.

I think you
can hook up python to Matlab, Scilab or Mathematica, but don't take my
word for it. I don't use any of this, so I cannot really tell you more.
None of this is jEdit specific though. Can you clarify?

Thanks. I hope to very soon. Potential interactions with other APIs are
keeping me up nights. I could use your help on one of these in the near
future.
Too bad, that's the future ;).

For whom?!? When? Been to a so-called 3rd-world country for an extended
period yet? Think Angola, Chad, ...
Stani's Python Editor (SPE) and Boa Constructor, I think. I've tried SPE
a few years back and liked it a lot.

Great! I'll give it a try.
If you only ever write python code you might want to forget about jEdit
and use one of the two above. jEdit is dubbed 'Programmer's Text
Editor', and as such provides a 'unified' framework for many languages
(so you don't have to learn a new editor for every damn language you
write in once in a blue moon). It is for that reason a /tad/ less
specialized (though highly configurable). If you still want to use
jEdit, there is wxGlade for wxPython out there and Glade (not wxGlade!)
works for pyGTK, I believe.
Hope that helps you deciding.

Very much so, and many thanks. My only languages are C and VBA, and the
environments of R and Mathematica (hey, I'm ancient).

lol

DaveB
 
R

Ramon Diaz-Uriarte

Wrong. But so terribly wrong ;). Jython is not at all needed to use
python with jEdit. I think the only reason to actually use Jython in

OK, so I stand corrected. However:

- I did not want to imply that you need Jython for editing Python with
JEdit. JEdit can eidt Python files without Jython, of course.

- I was referring to executing arbitrary sections of a Python file in
a Python interpreter in an "integrated way". When I tried JEdit, I
think that Jython was the way to go. (And I think this was also the
case for a while, at least to judge from D. Metrz's review
http://www-128.ibm.com/developerworks/library/l-cpyide/

The console plugin (probably THE most useful of the pack) gives you a
system shell and means to start compilers/interpreters based on your

But isn't this a "generic console": you go to the console, and then
type "python2.3" or "python2.4" or whatever? How do you send arbitrary
selections of Python code from the file you are editing to this shell?
Is there a way to mark a section of code and have it evaluated by the
python interpreter? Or a function definition?


R.
 
R

Ramon Diaz-Uriarte

Wildemar Wildenburger wrote:
(...)

Thanks. That helps me get a sense of the landscape.

As an emacs user, this is a clear plus for JEdit (and for vim, for that matter).
Very much so, and many thanks. My only languages are C and VBA, and the
environments of R and Mathematica (hey, I'm ancient).

If the "R" you refer is the statistical environment, "GNU S", then you
probably want to check Emacs (with ESS): you get an integrated
environment where you can edit code, submit code pieces (lines,
regions, buffers, functions, etc) to a running R process (which looks
like another Emacs buffer), opening R help in another buffer (with
the possibility of executing the example in the R process), clean up a
transcript of an R session to keep only the code, etc, etc, etc.
Moeover, you get a "smart" edition of Sweave (noweb literate
programming), where emacs knows when you are in a LaTeX part and when
you are in an R code chunck.

Alternatively, in the Windoze world, you might want to check Tinn-R,
which, regarding R, provides some similar functionality, and I think
it is also very nice for Python, LaTeX, etc.

HTH,

R.
 
W

Wildemar Wildenburger

David said:
I've come to sense, in the last (many) threads and topics brought up
that I have read in the last 3 weeks, that this NG attracts folks who
are very much into the web-app interface potential and usefulness of
Python, as you yourself seem to be (see following), and others, such as
I, who appreciate its power for technical apps, such as hard-core stats,
optimization, and integration with even more sophisticated off-the-shelf
apps, as well as home-brewed stuff, hopefully even original algorithms.
I have seen, several times in this NG, references to "scientific
stuff". I take it to mean apps meant for, or used by, folks in
engineering, physics, applied mathematics, exploratory theoretical stats
and practical applied stats (at a very high level) --- these users have
PhDs in areas dealing with "scientific stuff". What's *your* view take
on this?
I use python purely for personal coding, so I cannot give you much
advice on scientific use of python. I understand however that it is very
much used for what you describe. I still don't know what you're asking
exactly, so I hope that's what you wanted to hear.

"Whatever those ..." ?!? Maybe this clarifies my response.
Scipy: http://www.scipy.org/
Numpy: http://numpy.scipy.org/ (maybe that explains my confusion ;))
Scientific Python: http://sourcesup.cru.fr/projects/scientific-py/

Better?
Thanks. I hope to very soon. Potential interactions with other APIs are
keeping me up nights. I could use your help on one of these in the near
future.
By 'you' you certainly mean the newsgroup, right? 'Cause I know nothing
of that.
For whom?!? When? Been to a so-called 3rd-world country for an extended
period yet? Think Angola, Chad, ...
I. Was. Kidding.
Sort of ... :)
Seriously: Many people use it for the web, because python is just so
darn good at it. An there is a trend towards web-based apps. There's n
denying that.
Are you telling me that in, say, Angola they only use python for their
hardcore scientific calculations? I don't quite get that argument.
Though I understand your angle.

I'm out
wildemar
 
W

Wildemar Wildenburger

Ramon said:
- I was referring to executing arbitrary sections of a Python file in
a Python interpreter in an "integrated way". When I tried JEdit, I
think that Jython was the way to go. (And I think this was also the
case for a while, at least to judge from D. Metrz's review
http://www-128.ibm.com/developerworks/library/l-cpyide/



But isn't this a "generic console": you go to the console, and then
type "python2.3" or "python2.4" or whatever? How do you send arbitrary
selections of Python code from the file you are editing to this shell?
Is there a way to mark a section of code and have it evaluated by the
python interpreter? Or a function definition?

Ahh, I see. Well, you're right, that is not that easily possible. But
you know what? I've never missed such functionality; the "if __name__
...." trick always sufficed for me. Buts thats taste of course, lets not
debate that.
So OK, jEdit is not that 'integrated' after all. Oh well ...

:)
wildemar
 
R

Ramon Diaz-Uriarte

Ahh, I see. Well, you're right, that is not that easily possible. But
you know what? I've never missed such functionality; the "if __name__
..." trick always sufficed for me. Buts thats taste of course, lets not
debate that.

Thanks for the clarification. (And no, I won't debate that: the choice
of editor is (and should be) very much a matter of personal taste, and
JEdit is certainly a very fine and interesting editor).


Best,

R.
 
B

BartlebyScrivener

which allows soft word-wrap (no
gvim 7.0

if you set wrap and linebreak

:set wrap

:set lbr

The lines will softwrap only at whitespace and various punctuation
marks.

For the indentation issue, use autoindent.

rd
 

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,774
Messages
2,569,599
Members
45,175
Latest member
Vinay Kumar_ Nevatia
Top