Fog Creek Software
Discussion Board




Highly programmable non-Emacs editor?

I'm an editor junkie.  I've used dozens of them.  I'm currently using with EditPlus for Windows, but it's still not my perfect editor.

These days, it should be easy enough to have a more componetized editor:  a simple visual display component, plus ways of shooting text to Perl or Python (or your favorite language) to do fancy grunt work.  Instead, text editor authors tend to take a GUI-heavy approach, building everything into one, monolithic application.

I have seen two alternatives.  One is Emacs.  I don't want to get into a flame way about Emacs.  I've used it.  But it's more a lifestyle than a text editor.  And then there's Wily, which is a clone of an editor for Plan9 called ACME.  Wily looks interesting, but it is a UNIX-only program--no Windows version.  And, okay, someone is going to mention vi.  Yes, I've used vi.  I've written tens of thousands of lines of code with vi.  But in the end both vi and Emacs strike me as editors from another era.  The cleanliness that comes from an editor like EditPlus or BBEdit (a Mac editor), is something I don't want to lose.

Junkster
Wednesday, December 24, 2003

What about CodeWright?  It's been a while since I've used that, but IIRC it is highly programmable.  It wasn't cheap then, but it may be worth looking into.

Bruce Perry
Wednesday, December 24, 2003

VIM, http://www.vim.org/, is wonderful.

It's very hard to learn at first, but once you 'get it' it is incredibly powerful: many high-level operations can be accomplished with very few keystrokes -- you'll become very productive (or rather, the editor won't slow you down!). Traditional editors will feel awkward and clunky by comparison.

Tom Payne
Wednesday, December 24, 2003

The VIM homepage is http://www.vim.org/ . The forum software erroneously including the following comma in the URL.

Tom Payne
Wednesday, December 24, 2003

I really like Visual Slickedit ( http://www.slickedit.com ).

It has a fantastic expanded regular expression engine. It's also heavily extenable by programming macros in Slick-C (intepreted C like language). In reality, the whole editor is written in Slick-C and the binary code is just the Slick-C interpretor.

Mark Smith
Wednesday, December 24, 2003

I second Visual SlickEdit

the editor
Wednesday, December 24, 2003

votes[BBEdit]++;

Lally Singh
Wednesday, December 24, 2003

c /EditPlus/SlickEdit/*

--
ee

eclectic_echidna
Wednesday, December 24, 2003

I just downloaded the trial version of Visual SlickEdit.  Figured I'd give it a try, since it's highly recommended & I don't really feel like working here on Christmas Eve. 

So I downloaded it, and received the Thank_you_for_choosing_Visual_SlickEdit email.  SlickEdit opens, and tells me to "Request a FREE Trial License..."  No problem, I do that, and it fails.  Can't get through the proxy here at work, because we have to enter a password.  That's fine - I go in and try to manually configure it - there's no where to enter my password.  I close SlickEdit, somewhat frustrated.

Now I am faced with a decision.  Do I email SlickEdit & ask for a license key manually?  eh, I'm not that excited about it anymore.  I know it doesn't seem like a big deal, but since they already have my email address (had to provide it for the download) why couldn't they just email the key with that welcome email?  Why should I have to tell them my network info?

So I just uninstalled SlickEdit.  Oh well.

nathan
Wednesday, December 24, 2003

Eclipse (http://eclipse.org/). I don't use it, but I know people who swear by it.

I tried BBEdit when I got a Mac, but was shocked that it didn't seem to use OSX's excellent AA text rendering engine, which would be the whole point of editing code on a Mac for me. So I went back to Emacs :)

Dan Maas
Wednesday, December 24, 2003

--1 for SlickEdit

I've used SlickEdit and found it to be pretty mediocre as a text editor (and boy, it sure has an ugly UI). I use UltraEdit as my general purpose text editor, and various IDEs for working with my code (IDEA, mostly).

However, UltraEdit isn't highly programmable as the original poster requested.

Burninator
Wednesday, December 24, 2003

Yes, I've used UltraEdit.  It's essentially the same as EditPad Pro and EditPlus.  But they're all very closed systems (in the extensibility sense, not the open source sense).  An editor can just be shell and use Perl, for example, to do the real grunt work.

I have also tried vim, which I consider to vi plus some much needed extensions.  It still comes across as dated and clunky under Windows.  The interface in a typical Windows editor is so invisible compared to vim and Emacs.

Junkster
Wednesday, December 24, 2003

I also use Ultraedit, I'm interested in how programmable really helps.  I can write macros in UE and if I really needed some new filter I could write it and use it as an installable tool,  but I've never needed to.

Simon Lucy
Wednesday, December 24, 2003

I second CodeWright. Expensive, but i think they will even ship you a trial version in a box with a manual and you only pay if you lke it. Maybe they don't do that anymore, but you gotta admit they hava lotta confidence in their product. And I like it. Great editor.

Dennis Atkins
Wednesday, December 24, 2003

Extreme programmability is important for several reasons.  The first is that it offers up a lot of options, letting you do things that the author hadn't thought of.  For example, I often use non-mainstream programming languages that would benefit from being syntax colored in non-standard ways (certain types of lines colors a specific way, rather than just keywords).  I'd also like to be able to extend an editor to context-sensitive tab completion; build custom, interactive project management systems, etc.  All of this stuff is business as usual in Emacs.  But Emacs is a relic of the past otherwise.

Text munging is easy.  We have entire programming languages devoted to it.  An editor just needs to be a thin interface with hooks to routines written in such a language.  It shouldn't be a monlithic application.  I'm surprised that no one has followed this road, other than Stallman's Emacs.

Junkster
Wednesday, December 24, 2003

I used to be a emacs bigot, but I'm over it.  I still write code nearly every day in Emacs on Unix, and VC++ on Windows, but having seen a demonstration of XCode, I've decided to move my Unix development over to the Mac. 

What I think is interesting is that emacs it is completely unique approach to application development, and it worth learning just for the alternative look at software applications.  I has certainly influenced Gosling's (who used to work on emacs), NeWS and Java -- not to mention autocad which orginally had a lisp based scripting language.  Lisp had a VM and garbage collection a million years ago. 

Emacs is powerful enough that it is still useful 25+ years after it was orginally written.  But I'm not a student anymore, and I don't have time to endlessly tune my .emacs and custom makefiles.  Plus I've grown so used to modern IDEs that emacs + gud is painful. 

What I think might be interesting is a editor or platform built with emacs as the model, but assuming a modern windowing environment.  Maybe we have it in .NET, but it doesn't seem quite the same.

christopher baus (www.baus.net)
Wednesday, December 24, 2003

Visual slickedit is a good alternative. But slick-c is a crappy hacked scripting language. I have written dozen of functions to do things that I want similiar in emacs and vim, but slick-c just can't live up with any other scripting languages that I have used (lisp, perl, python, js).

And the source code that came with vslick are not horrible mess. Good luck trying to learn and understand those source code - it's like I haven't had enough reading my peer's code...

Just my $0.02

Mac
Wednesday, December 24, 2003

And the source code that came with vslick are JUST horrible mess.

BTW, the API provided by slick-c is very inconsistent (I'm not saying elisp is WAY better, but at least it's still managable...)

Mac
Wednesday, December 24, 2003

jEdit.  It's scriptable with Jython and BeanShell.  It has syntax highlighting for a bazillion languages, and it has a flurry of plugins available for every imaginable want or need.  I use the XML plugin, the LaTeX plugin, the project management plugin, and there are many many many more available out there.  It's hugely configurable, lots of GUI options.  Extremely extensible, cross platform, and of course it's FLOSS.

It's written in Java, and startup takes a while on older machnes; 20-30 seconds on an old 400Mhz machine.  My newer machines start it in 10 or 15.  But I've never had any performance issues once it's loaded, even on slower machines.

Oh yeah, the syntax highlighting also configures lots of nifty features like autoindenting, block comment, bracket matching (tag matching in XML mode), code folding, and suchlike features.  It's a *very* complete programmer's editor, and should not be confused with Eclipse (which is a generic IDE/tool platform with some editing capabilities, and whose plugins are heavily slanted towards Java development).

Phillip J. Eby
Wednesday, December 24, 2003

Oops, forgot to include the URL: http://www.jedit.org/

Phillip J. Eby
Wednesday, December 24, 2003

Interesting that nobody mentioned Multi-Edit. http://www.multiedit.com/

Their kernel is Delphi, then everything else is built using CMAC, their scripting language. Their community is very active, and a new version was just released.

- Hector

Slartibartfast
Thursday, December 25, 2003

I just played a bit with jEdit on my WinXP notebook. Can someone please explain to me why the font rendering sucks like a typical Java application? No AA. My XEmacs looks nice on Win XP.  It's also a bit embarrassing that you have to reload the entire app to change the text font.  (XEmacs is a fork of Emacs, not the X11 version)

There seems to be no viable alternative to Emacs or  Vim...

Nils
Thursday, December 25, 2003

jEdit does offer anti-aliasing of text, and you enable it via Utilities -> Global options... -> Text Area. Choose Smooth text and Fractional font metrics (depending upon system spec.).

jEdit is an excellent modern editor. Emacs suffers from massive complexity -- there's so much to remember. The modal design of vi/m is just weird.

C Rose
Thursday, December 25, 2003

I have JEdit installed, and it's not bad at all. JEdit had the same plugins as Eclipse, and more. But I don't feel "at home" with it.
Like Junkster, I use mostly EditPlus. As Junkster probably knows, you can do a lot with EditPlus, though it's not extensible in the usual sense.
At home, I also use ConText, which is similar to EditPlus, just a little less powerful.

Pakter
Friday, December 26, 2003

I also use Multi-Edit and have ever since its DOS days. ME is a great value ($80-$120 or so depending on upgrade or new purchase) since it includes features like file differencing and a generalized compiler interface to act as a sort of self contained IDE to host command line tools.

The only drawback I've ever seen to ME is that you have to customize its key command mappings quite a bit in order to get reasonable behavior (ctrl-F for search, F3 for search again, Ctrl-F4 for close window, etc). ME has very strange notions about common shortcuts. And I have not found a way to make these definitions portable to a new system. (Or, I just don't know the MultiEdit configuration system as well as I "should".) So every time I move ME to a new PC I have to spend about 1/2 hour re-customizing it.

Bored Bystander
Friday, December 26, 2003

I almost always use Grasp, but only because of its very slick automated Control Structure Diagram generation that simplifies code immensely.

(http://www.eng.auburn.edu/department/cse/research/grasp)

Unfortunately Grasp is now only done in Java (i.e. very slow). There are old unix/pc versions of Grasp that I use which is very fast, but it is no longer under development and is a bit dated.

Does anybody know of another editor that has the same kind of functionality?

Another great thing about Grasp is that it edits both C++ and VHDL files! (Of paramount importance since I work in ASIC design.)

Fred Ngo
Friday, January 09, 2004

IDEA from IntelliJ has GRASP like behavior

Charles Magid
Thursday, April 22, 2004

*  Recent Topics

*  Fog Creek Home