a good programming text editor (not IDE)

J

John Salerno

I know there's a request for a good IDE at least once a week on the ng,
but hopefully this question is a little different. I'm looking for
suggestions for a good cross-platform text editor (which the features
for coding, such as syntax highlighting, etc.) but not a full IDE with
all the fancy jazz (GUI developer, UML diagrams, etc.).

Ideally, it would be something I could even put on a flash drive and
move from computer to computer, but this isn't necessary. Just something
I can immediately use in either Windows or Linux (or Mac, if necessary).

Based on another thread, I tried out Scite, but no matter what I do it
doesn't seem to remember the window size and position, or any options I
choose (like showing line numbers). It seems to always reset itself each
time I open it.

And naturally there are Emacs and Vim, but I just don't know if I need
to invest *that* much time into learning one of them (probably Vim,
since I hear it's lighter and faster).

I've tried a few others, like TextPad and Crimson, and right now I use
UltraEdit, which I love actually, except for minor issues here and
there. But it'd be nice to make the move, as much as possible, to free,
open-source, cross-platform software.

Thanks for any suggestions, and again I'm sorry if this feels like the
same question as usual (it's just that in my case, I'm not looking for
something like SPE, Komodo, Eric3, etc. right now).
 
J

Josiah Manson

You could try SciTE. It has syntax highlighting for almost every
language I have heard of plus some, and seems to work pretty well. It
has some issues with fonts, and on some computers is unstable (it
crashes in linux, and may have issues with multiprocessor machines).

I would also like to know if someone has made a good text editor that
works in a variety of languages and overcomes some of SciTE's
limitations.
 
S

Scott David Daniels

John said:
And naturally there are Emacs and Vim, but I just don't know if I need
to invest *that* much time into learning one of them (probably Vim,
since I hear it's lighter and faster).

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."
 
S

Sybren Stuvel

John Salerno enlightened us with:
I'm looking for suggestions for a good cross-platform text editor
(which the features for coding, such as syntax highlighting, etc.)
but not a full IDE with all the fancy jazz (GUI developer, UML
diagrams, etc.).

Vim is definitely the best. If you're a GUI man, you can use GVim.
Ideally, it would be something I could even put on a flash drive and
move from computer to computer, but this isn't necessary. Just
something I can immediately use in either Windows or Linux (or Mac,
if necessary).

Vim works on all three, and more platforms.
And naturally there are Emacs and Vim, but I just don't know if I
need to invest *that* much time into learning one of them (probably
Vim, since I hear it's lighter and faster).

I'd take the time if I were you. It even comes with a tutor ;-) It's
easy to learn - the thing that takes the most time to get used to, is
that it has two modes - "normal" mode in which you can give it
commands, and "insert" mode in which you can insert text. The editor
starts in "normal" mode. Hit 'i' to go to "insert" mode, and Escape to
go back to "normal" mode.

Longer commands are prefixed with ":". To save a file, type ":saveas
somefile.py". If you have given it a name already (by loading or
saving) you can use ":w". To write & quit the editor, use ":wq".

With the knowledge you now have, you can start using Vim. Once you get
the hang of it, learn more commands.

When running on Windows, I'd get rid of the _vimrc file - the Windows
version tries to act more like other Windows editors, which is very
annoying if you want to use Vim as a cross-platform editor.

For more tips, check out my website: http://www.stuvel.eu/vimhints

Sybren
 
T

Tim Chase

I recommend Vim.
I'm looking for suggestions for a good cross-platform text
editor
Check.

(which the features for coding, such as syntax
highlighting, etc.)
Check.

but not a full IDE with all the fancy jazz
(GUI developer, UML diagrams, etc.).
Check.

Ideally, it would be something I could even put on a flash
drive and move from computer to computer, but this isn't
necessary.
Check
http://72.14.203.104/search?q=cache:http://blog.gmane.org/gmane.editors.vim/day=20050923

I do it doesn't seem to remember the window size and position,

in your gvimrc, use

set lines=50 columns=80
winpos 300 0
or any options I choose (like showing line numbers).

to enable line numbering
:set number
to disable line numbering
:set nonumber
to gottle line numbering
:set number!
It seems to always reset itself each time I open it.

Options can be saved in your vimrc/gvimrc file to preserve
settings. Additionally, the viminfo file can be used to preserve
registers, etc across editing sessions. On top of that, you can
use the ":mksession" command to take a snapshot of a session with
all its window positionings, manual folds, etc.
And naturally there are Emacs and Vim,
but I just don't know if I need to invest
> *that* much time into learning one of them
(probably Vim, since I hear it's lighter and faster).

Excellent idea... :) I invested a bit of time up front to learn
vim, but it was well worth every moment I spent on it. I'll be
the first to admit that it has a learning curve like a brick
wall. But once you get the basics and force yourself to use it
until you get comfortable with it, it pays massive dividends.
to free,
Check.


Check.

cross-platform

Check.

In addition, it has folding, both console versions and GUI
versions, and a host of plugins for making various files easier
to edit. Oh, and a rather helpful mailing list!

Just some answers to your questions...

-tkc
 
J

John Salerno

Sybren said:
Vim is definitely the best. If you're a GUI man, you can use GVim.

Ok, you guys are slowly converting me, but I do have one question: which
"version" of VIM should I use, or does it matter? I mean, there seem to
be at least two versions, a text version and the GUI version you
mention. Are the options shared between the two, or is it that you are
more or less "set" in one once you choose it, and if you move to the
other you have to redefine your preferences, etc.?
 
A

Ant

I've tried a few others, like TextPad and Crimson, and right now I use
UltraEdit, which I love actually, except for minor issues here and
there. But it'd be nice to make the move, as much as possible, to free,
open-source, cross-platform software.

Vim is great if you have a good memory... Otherwise you end up trawling
through the help to find out how to do stuff that would in another IDE
be just a few menu clicks away.

jEdit is for me still the best text editor available. Very extensible
with macros (which can be written in Jython with the appropriate plugin
installed). Full mapping of key-bindings to built in commands, plugin
commands and macros a-la Vim, emacs etc. Also comes with a range of
plugins if you do want that little bit more power... Java based so
cross platform.
 
J

John Salerno

Ant said:
jEdit is for me still the best text editor available. Very extensible
with macros (which can be written in Jython with the appropriate plugin
installed).

I like the idea of being extensible, but of course I can only write in
Python. Are there any editors that support that?
 
A

Ant

John said:
I like the idea of being extensible, but of course I can only write in
Python. Are there any editors that support that?

Jython is python (running on the Java platform) - just not a very
recent version (2.1 currently IIRC).
 
F

Fredrik Lundh

John said:
I like the idea of being extensible, but of course I can only write in
Python. Are there any editors that support that?

Jython is a Python implementation for Java.

</F>
 
J

John Salerno

Fredrik said:
Jython is a Python implementation for Java.

</F>

Oh, I know, but doesn't it require knowledge of Java? Or am I being even
more newbie-ish than I thought I was? :)
 
J

Jarek Zgoda

John Salerno napisa³(a):
Ok, you guys are slowly converting me, but I do have one question: which
"version" of VIM should I use, or does it matter? I mean, there seem to
be at least two versions, a text version and the GUI version you
mention. Are the options shared between the two, or is it that you are
more or less "set" in one once you choose it, and if you move to the
other you have to redefine your preferences, etc.?

The "version" doesn't matter, but anyway you should get the newest one
available. 7.0 has some nice features for text editing in graphic
environments (like Windows), but in terminal it's the same beast. You'll
love it in short time. ;)
 
O

olsongt

John said:
I like the idea of being extensible, but of course I can only write in
Python. Are there any editors that support that?

I can think of one editor that supports that ;-)

http://www.vim.org/htmldoc/if_pyth.html#Python

Seriously though, yes vim is wierd. Wierd enough that you might think
maybe people just use it because they're trying to proove they're l337
or hardcore, instead of using it for real practical reasons. But it
really is an amazing text editor once you accept the wierdness.

If you use it for a little bit, one day you'll be editing a document in
Word, or notepad, or SciTE, or Eclipse; you'll instinctively type
'[ESC]:wq', and be suprised that the app is still open. That's when
you realize there's no turning back.

-Grant
[ESC]:wq <dammit, did it again! />
 
P

Paddy

John said:
I know there's a request for a good IDE at least once a week on the ng,
but hopefully this question is a little different. I'm looking for
suggestions for a good cross-platform text editor (which the features
for coding, such as syntax highlighting, etc.) but not a full IDE with
all the fancy jazz (GUI developer, UML diagrams, etc.).

Ideally, it would be something I could even put on a flash drive and
move from computer to computer, but this isn't necessary. Just something
I can immediately use in either Windows or Linux (or Mac, if necessary).
<SNIP>

Hi John,
I am yet another user of (g)vim. The good thing about gvim is that for
normal editing, a lot can be done from the drop-down menus. You need to
get hold of a list of the vim commands to learn and what to learn first
(anyone?), as there is a huge amount of functionality in vim, and you
can do a lot with a little.

Personally, I have never done more than poke at the edges of the
internal scripting of vim as I prefer:
:%!gawk 'awk one liner'
Which sends text to the external shell for processing by another
command (in this case gawk)
Gvim on windows is a life-saver for me as I have files with different
line terminators from my unix work, and it opens those.

The only thing I miss in gvim is a mode that would try to display HTML
to say the degree that the lynx/links browsers do.
(http://artax.karlin.mff.cuni.cz/~mikulas/links/,
http://lynx.browser.org/).
 
R

Roel Schroeven

John Salerno schreef:
Ok, you guys are slowly converting me, but I do have one question: which
"version" of VIM should I use, or does it matter? I mean, there seem to
be at least two versions, a text version and the GUI version you
mention. Are the options shared between the two, or is it that you are
more or less "set" in one once you choose it, and if you move to the
other you have to redefine your preferences, etc.?

Some settings are GUI-specific, such as font and window size, but the
rest is the same. You can easily copy your preferences file between
different systems and use it with both vim and gvim (text mode vim will
just ignore the GUI settings).
 
J

James Stroud

Ant said:
Vim is great if you have a good memory... Otherwise you end up trawling
through the help to find out how to do stuff that would in another IDE
be just a few menu clicks away.

Mental memory (the painful kind of memory) rapidly turns into muscle
memory (the fun kind of memory) and all of those mind boggling
keystrokes begin to feel like an artistic expression reminiscent of
playing the piano.

James



--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
 
R

RunLevelZero

Your SciTE problem is easily fixable by choosing " options / Open
Global Options File " and then there are plenty of settings. Use the
SciTE.html file and it will explain them all and there are many but the
defaults usually work well to start out. I have had no issues with
Linux. I use Debian. Here is a snippet of the first few lines of the
global options file.

"# Globals

command.name.2.*.py=PyChecker
command.2.*.py=C:\Python23\Scripts\pychecker.bat --stdlib --blacklist
--varlist "$(FilePath)"
tab.timmy.whinge.level=1
# Window sizes and visibility
if PLAT_WIN
position.left=30
position.top=25
if PLAT_GTK
position.left=15
position.top=30
position.width=1200
position.height=950"

As you can see if you are running windows "if PLAT_WIN" those are the
settings for your window etc...

Also grab this file.
http://scintilla.sourceforge.net/gen_python_api.zip

You can run it and it will build an API that you put in the root of
SciTE and it will auto complete and it will give you help tips if you
want them.

I can't say that this is better than VIM but SciTE works great if you
are mostly a python programmer.
 
L

Larry Bates

John said:
Oh, I know, but doesn't it require knowledge of Java? Or am I being even
more newbie-ish than I thought I was? :)

Nope, no Java knowledge necessary. Jython just compiles Python code
to java bytecode instead of python bytecode. Once it is in java bytecode
the JVM doesn't know where it came from.

-Larry Bates
 
J

John Salerno

Larry said:
Nope, no Java knowledge necessary. Jython just compiles Python code
to java bytecode instead of python bytecode. Once it is in java bytecode
the JVM doesn't know where it came from.

Well that's good to know. I guess there's not much of a point in writing
pure Python code with Jython, but at least now I know it works that way!
 

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,982
Messages
2,570,185
Members
46,737
Latest member
Georgeengab

Latest Threads

Top