Article submitted by François-Denis Gonthier. We have run out of good articles! Please help DPOTD and submit good articles about software you like!
I’m a big fan of GNU Emacs, it’s a very powerful and ultra customisable editor. I have it setup just the way I want, with tons of packages. That means that although my Emacs setup suits me fine for long coding sessions, it takes several seconds to start, even on a moderately fast computer.
When you work in a console, and all you want is to edit some files, and edit them now, you gotta have something that starts in a snap. Jed is the editor I use for that.
Jed showing a bit of Emacs code.
The obvious advantages of Jed are that it starts much faster than Emacs, but still provides the basic key-mappings and features of the default Emacs setup. Out of the box, it supports syntax colouring for several programming languages: C/C++, S-Lang, FORTRAN, LaTeX, Java, Python, Perl, Bash and more. Since it’s an extensible editor, several add-ons (modes) have been written and are available in the Jed Modes Repository.
For people that are interested in having a full-featured editor, but aren’t crazy about the Emacs key bindings, Jed has a nice console menu interface. Menus can be activated with the F10 key, and then browsed with the arrows key, just like the ol’ DOS editors. Most menu items also have shortcuts, for quicker access the next use. For the less expert users, like myself, menus are very useful; but avoiding the F10 key at the corner of the keyboard is a time saver, as tiny as it may sound.
The Jed menus come with some nice touches that Emacs has acquired just recently. In the “Windows” menu, you can see that Jed offers 9 different colour themes for the terminal, a nice touch for people allergic to white-on-black text, or with difficult display devices.
I personally use Jed as a light editor, but Jed is a very customisable platform. It is linked with the S-Lang library, which can be used to heavily customise the editor. I know little of the S-Lang language, just what I need to set a few shortcuts, but the S-Lang functions provided by Jed are well documented on its home page: http://www.jedsoft.org/jed/doc/jedfuns.html
It is also interesting to know that Jed has a native X11 interface, which is installed by the xjed package. Jed is not as well adapted to X11 than Emacs is, but XJed does bring some interesting improvements like mouse support, and of course key bindings which are not limited by any terminal protocol. Personally, I think that the XJed default configuration should be edited a bit (I use Ubuntu, but tend to suppose it’s not very different in Debian). When XJed starts on my computer, it looks like Jed was started in XTerm, with extremely tiny fonts, and an ugly font. I am sure XJed can be conveniently and easily configured but giving you a bad first impression of Jed is not something I want. I suggest you to try running the console version of Jed in your favourite terminal emulator, then play with it a bit.
The final proof that Jed is a mature and fully-featured editor is that it obeys Zawinski’s Law (Zawinski’s Law), which state that “a program attempts to expand until it can read mail”. Jed has a mail reader called rmail, it can be invoked by hitting M-x (Alt+x) then typing rmail.
Jed has been available in Debian and Ubuntu for ages.
Quick start shortcuts
Here is a few shortcuts you may find useful while playing with Jed for the first time. As usual, C = Ctrl, M = Meta (usually Alt).
- C-h
- Invoke the help system
- C-x C-c
- Quit jed
- C-x C-f
- Open a file
- C-x C-k
- Close a file
- C-x 2
- Split a window
- C-x o
- Move to the next window
- C-SPACE
- Set the beginning of selection (C-SPACE cancels selection region)
- C-Shift-w
- Cut
- M-Shift-w
- Copy
- C-y
- Paste
- C-a
- Go to the beginning of line
- C-e
- Go to the end of line