Ubuntu/Debian/Mint news and tutorials | Linux gaming
Quick Tip
Disable Overlay Scrollbars in GNOME
gsettings set com.canonical.desktop.interface scrollbar-mode normal
Quick Tip
Find Files Containing a Text Pattern
find . -iname "*.txt" -exec grep -l "hello" {} +
Online Readers
Advertise on TuxArena
Linux Cheat Sheet
Have a look at our Linux Cheat Sheet for quick one-liners, commands and tips.

First of all, I’d like to point out this article doesn’t include full-fledged IDEs, I’ll leave those for another article. So in conclusion you won’t find here Emacs, nor Vim or Eclipse and so on. This article overviews text editors, which may or may have not features belonging to a programming environment, like indentation or syntax highlighting, but aren’t full-blown development environments.

Geany | Homepage
Geany is a powerful and user-friendly GTK text editor that is one of the favorite applications for users under GNOME. It is full-featured, and besides the usual functions it also provides support for projects, embedded terminal, auto-indentation, highlighting support, line wrapping, integration with the make tool, plugins, and various configuration options. This is a very good recommendation for those who are looking for a good text editor/programming environment for GNOME.

SciTE | Homepage
Yet another nice text editor for GNOME, SciTE features all the common functions you’d expect to see in a full editor. Included here are a big number of language modes, highlighting support, tabs, read-only mode, exporting to HTML, PDF, LaTeX, XML or RTF. Monospace font is disabled by default, so you will have to press Ctrl+F11 or go to Options->Use Monospaced Font.

Kate | Homepage
This is by far my favorite KDE editor. Kate (KDE Advanced Text Editor) is a serious, full-featured programming environment which brings up things like: indentation, syntax highlighting, sessions, file selector, integrated terminal, word wrap, block-selection mode, and much, much more. A valuable piece of software for any KDE user.

Gedit | Homepage
Gedit is the default text editor that ships with the GNOME desktop environment. It has support for indentation, syntax highlighting, tabs, check spelling, bracket matching and fullscreen mode. Gedit allows you to configure text wrapping, tab width, auto-save feature, font and color scheme. Another good addition Gedit implements is support for plugins, and most of the features are provided by these plugins. Included here is the side panel plugin, document statistics plugin, or the spell-checker plugin.

NEdit | Homepage
NEdit is a decent text editor with a particularly clean interface written using LessTif, “the hungry programmer’s version of OSF/Motif”. Although the interface doesn’t exactly look like a 2011 GUI application, let’s have a look at the features of NEdit: it supports a lot of language modes, auto indent, text wrapping, syntax highlighting, incremental search, macros and window splitting. NEdit is pretty rich when it comes to customization options too.

Scribes | Homepage
Scribes is a simple editor written in GTK with a minimalistic interface, where the workspace occupies all of the window space. There is no menubar nor a toolbar, so accessing the options is done by right-clicking anywhere on the workspace or by using mouse-over on the top-right corner icon.

jEdit | Homepage
You can tell jEdit is written in Java just by looking at its interface. jEdit comes with some pretty neat features and rich configuration options. Some of the highlights include: indentation, word count, complete word function, multi-functional clipboard, incremental search, markers, file browser, a *huge* number of programming modes, many configuration options, support for macros and plugins. It is a little slower at start-up since it is Java-based, but otherwise jEdit really makes up a wonderful editor with lots of useful features.

Medit | Homepage
Medit is a simplistic editor for GNOME with support for tabs, syntax highlighting, text wrapping, sessions, Python plugins support and sidebars for file list and file selector.

Leafpad | Homepage
This is the most minimalist notepad-style editor for GNOME in this review. Leafpad only offers options to search, change font, enable auto-indent, line numbers or word wrap. Perfect application for quickly editing configuration files or other ASCII text files without the need to fire up a heavier editor.

Joe | Homepage
Or Joe’s Own Editor, Joe is a terminal-based text editor which resembles the keyboard style used by the older WordStar and Turbo C editors and features like multiple windows support, command history TAB expansion, indentation, highlighting support, undo/redo functions, and also Pico and Emacs emulation.

Ne | Homepage
Ne (Nice Editor) is yet another text editor for the terminal targeted at beginners, with enough features to make it powerful enough.

Komodo Edit | Homepage
Komodo Edit is a free, powerful text editor from the Canadian commercial company ActiveState. It comes with many features. It’s only downside is that it is pretty slow at startup.

KWrite | Homepage
KWrite is another editor for KDE with less features than Kate. Includes features like check spelling, indentation or dynamic word wrap.

Nano | Homepage
This is probably the most popular tool among Linux beginners when it comes to console text editors. Nano is highly configurable and provides syntax highlighting (here is a guide I put up a while ago on how to enable it), indentation, easy to use keyboard shortcuts, standard Emacs way of moving around (like ^N or ^P, or ^F and ^B) and plenty of other functions. Nano is particularly useful for quickly edit configuration files as root or as normal user.

Diakonos | Homepage
Diakonos is yet another terminal text editor providing customization, ease of use. Diakonos is intended to be easier to use than Emacs while also offering strong features.

Bluefish | Homepage
Some prefer to write HTML/CSS pages using normal text editors, however for those who want a dedicated application for this, Bluefish is a real gem. This program is a fully-fledged editor for web designers, with very powerful functions, a visual editor provided by the toolbar icons for inserting various tags in a fast fashion, syntax highlighting, file browser, and many more.

Jed | Homepage
Jed is a fast console editor which offers keyboard shortcuts similar to the ones of Emacs (like ^X-F to open a file, or ^X-C to quit), highlighting support and many other tools available.

TEA | Homepage
TEA is a decent HTML/XHTML, Docbook, LaTeX and Lout editor written using the Qt toolkit which offers a clean interface, highlighting support, file browser, standard HTML editing functions, a TODO calendar and various configuration options.

Kile | Homepage
This one’s a KDE LaTeX editor with good features and plenty configuration options, as well as building system and support for projects.

Lyx | Homepage
Lyx is a highly full-featured document processor for LaTeX based on the WYSIWYM (What You See Is What You Mean) paradigm.

In conclusion, want a full-fledged editor for GNOME? Try Geany or SciTE. For KDE? Give Kate a shot. You like Java-based applications? Try jEdit. You want a minimalist editor? Give Medit, Scribes, Leafpad or KWrite a shot. If you’re a command-line addict, see what Joe or Nano have to offer.

I’d really like your feedback, especially for all those terminal editors which I hardly ever used more than taking a glimpse at them for this review. Any suggestions, corrections and additions are warmly welcomed, so please express your impressions in the comments below.

istok says:

gvim made very easy = cream.
i use gui text editors as word processors, btw xD
i guess i’m lucky work allows for it, because i mostly just need pure spellchecked text.

You should give CodeSlayer a try! CodeSlayer is a source code editor that I have been working on for about a year now. It is written in C using the GTK+ toolkit.

The website is http://codeslayer.org.

My motivation for creating CodeSlayer is it seems that the base functionality of other editors try to do too little or too much. With CodeSlayer the base functionality will always be useful across any language, and then we can create plugins that are useful for specific things. But within that context there is so much that we can do.

For instance with CodeSlayer you get a projects tree that can hold multiple projects in a group. And then you can have multiple groups in which you can easily flip back and forth between them. It even remembers the tabs that you had opened with a given group so that you do not lose your place. For finding things CodeSlayer includes an inline search and replace, as well as a really nice global search. The editors in CodeSlayer use GtkSourceView so by default you get all the features of syntax highlighting, auto-indentation, line numbering, etc… In the future I want to build in a bookmarking system and multiple clipboards.

For everything else CodeSlayer has what I believe to be one of the easiest and most powerful plugin systems. How it works is you implement two to three (depending on your needs) methods in your plugin and then you get passed one object that contains everything you need to add your own functionality. Right now the featured plugin is an autotools plugin so that you can compile code for projects that use the autotools system. Then soon I will be releasing the ctags plugin that allows you to jump right to a tag definition.

The other thing you will notice about CodeSlayer it that the interface is very clean. I never found myself using toolbars or status bars so I just left them off.

-Jeff Johnston

Abe says:

It would have been much better and more beneficial article if you had made a table listing all editors in rows and features and capabilities an editor should have in columns. Go through each feature and indicate if each editor supports it and how good its support is.

Hard work, definitely. But it would be a great reference for any one who appreciates good effort.

some guy says:

vim. the end

Joe says:

NEdit hasn’t been updated in many years. And what about JEdit? It’s Java based (may be a plus or minus) and is one of the few that is completely configurable. Those of us who are looking at a screen most of the day may not want a cursor that is a single, blinking vertical line. It’s too difficult to try and find it when paging through a program. JEdit is the only editor that I have found that allows cursor configuration.

Beast says:

You forgot the editor which many describe as G.O.A.T (The Greatest Of All Time).


milt says:

I use e3 when I’m in a terminal. Small and takes Wordstar commands. I fought my way through a 240 page manual on WS in ’81 and don’t want to waste it:-)

A. C. says:

JEdit allows you to write macros, I added syntax expansion macros to mine.

A judicious choice of plugins make JEdit a small-scale IDE. Not quite full featured like Eclipse or NetBeans, but you can have edit, simple project management, repository access, code and object browsing, build and run plugins all in the JEdit editor. I know a couple of other Java programmers that have configured their JEdit with plugins so that they can develop rapidly and efficiently.

voidptr says:

You should rename this article to “20 Other Text Editors You Might Use If Vim Didn’t Exist”.

notJoe says:

How can you write an article on linux text editors and not mention emacs* or vi*?

*emacs, xemacs, vi, vim, etc.

notJoe says:

I realize the article didn’t include emacs & vi purposely, saying they were ignoring IDE’s. I think this is a mistake. You can use both only as text editors, learning keystrokes, etc, then moving on to more advanced functions as needed.

Vi and emacs are the only 2 editors I’ve used in 30 years on Unix/Linux systems work. Vi first, then emacs for the past 20 years.

Tim says:

I agree that you should include a table of some of the more popular features and indicators for the editors that support the feature, just as someone else mentioned. That would be a very useful table indeed.

Craciun Dan says:

Maybe I’ll get the time to do it in the days to come. Thanks everyone for the suggestions!

123 says:

There is also JuffEd

Cybister says:

Internal Midnight Commander editor also.
And it is available in console. Through SSH for example.
Ctrl+S if you dont see syntax highlighting.

Leave a Comment

Linux Links