This list attempts to include the vast majority of text editors that run on Linux, arranged in alphabetical order. While this list definitely doesn’t include every single Linux text editor ever, I am going to try my best to get pretty darn close. If you know of a text editor that runs on Linux (without emulation or Wine) that I’ve left out, please drop me a line and it will be added to the list!
Atom
Atom is, “a hackable text editor for the 21st Century”. This one is a new player to the game and I have to say, it looks promising.
Atom is open source, distributed under the MIT license. There are prebuilt packages of Atom for OS X, Windows, Red Hat, and Ubuntu Linux. The Arch Linux AUR also maintains a copy.
Built in project management is intuitive to use. Git diff integration highlights files and lines of text within files that have recently changed. Searching through multiple files in a project for a specific line of code is a piece of cake with Atom. Other features, like the ability to search through commands you may have forgotten or just don’t know, make Atom feel very Sublime-Text-y. This is a good thing. Sublime Text is another fantastic text editor. Although, Sublime text costs money and isn’t open source. Atom doesn’t cost any money and is Open Source.
Beaver
Beaver is light weight, modular, and stylish. The name Beaver is a recursive acronym for Beaver is an Early AdVanced EditoR. Kind of a weird acronym, but ok. Beaver is light on system resource use. Although it is a GTK app and does depend on the GTK library to run,this is its only dependency. Beaver supports syntax highlighting and auto indentation. It can make a great alternative to apps like Notepad and Gedit. Beaver is open source, released under the GNU GPL.
Bluefish
Bluefish is a lean and mean programming text editor with versions available for Linux, Mac OS X, and Windows. Bluefish is very good at working with large numbers of files and doing it efficiently on older hardware. The fish is open source software, released under the GNU GPL.
Bluefish supports working with remote files over FTP, SFTP, WebDAV, CIFS, HTTP, and HTTPS. Its search and replace feature lets you use Perl compatible regular expressions. Files can be opened based on file name or even file content patterns. Bluefish also supports code block folding and start/end marker matching.
dit
Dit is a lightweight ncurses based text editor that runs in your terminal. It’s name is from French, meaning something that has been said, if I understand correctly. It’s refreshing to see a name that isn’t a recursive acronym, or an acronym at all.
The learning curve involved with dit isn’t nearly as bad as certain other editors like VIM. However, if you’re looking for an easy to use, purely console based text editor, you should also give Nano a try.
Emacs
Emacs has been around since the 70’s. The learning curve is steep, although not unlike the learning curve involved with VIM. Emacs is… bloated. I’m not talking about the kind of bloat that slows down your computer. There is much worse in terms of resource bloat these days. What I’m talking about is feature bloat. Emacs is like its own little operating system that lives inside your operating system. They should really just make Emacs Linux. Sure, all of the features do a pretty good job at staying out of your way if you don’t know about them. Personally, I would prefer to understand all of my tools well and have to use multiple tools for one job than have one huge tool that I don’t really understand very well. Using Emacs to do some simple text editing is liken to using photoshop to crop a photo. If you are looking for a text editor that is everything to everyone, be sure to give Emacs a try.
See also: How to enable extended FAT (exFAT) support in Linux
Geany
Geany is a GTK GUI text editor. It supports syntax highlighting, HTML tag auto close, code folding, and project management. Versions of Geany are available for Linux, BSD (namely FreeBSD, NetBSD, OpenBSD) Mac OS X, and Windows. Geany is open source, released under the GNU GPL.
Gedit
Gedit is the default text editor included with the Gnome desktop environment. It’s been around since 1999. Gnome is nice and simple, with GUI based menus and a clean interface. Similar to Notepad, the learning curve is essentially zero. I think Gedit kind of feels like Notepad with syntax highlighting and tabs.
GVim
GVim is essentially VIM with a GUI. If you don’t know how to use VIM, this might not be the best text editor for you. However, the menus make things a little bit simpler. GVim might be a good place to start before using VIM on its own. GVim is also an easy way to get a copy of VIM working under Windows.
Jed
Jed is a simple, easy to use text editor. The cool thing about Jed is that it has GUI menus but run inside of a terminal window. With Jed, you get the versatility and lightweight system resource footprint of a terminal based text editor and the almost nonexistant learning curve afforded by GUI driven menus. The best of both worlds, really.
Joe
Joe runs in a Terminal window and uses keyboard shortcuts to operate. Keyboard shortcuts mostly involve [control] + some other key.
The name Joe is a recursive acronym for Joe’s Own Editor. It is a terminal based text editor that has been around since the late 80’s / early 90’s. Joe is available for most Linux and BSD distributions, and Mac OS X via Homebrew.
Kate
Kate is developed by KDE. In classic GNU style, the name is a recursive acronym for Kate Advanced Text Editor.
Kate has been included with KDE since version 2.2 was released back in 2001. Features syntax highlighting for a lot of languages, regular expression find and replace, code folding, auto completion, auto indentation, and customizable layouts. Integration with KIO means Kate can work with remote files natively over FTP, SSH, WebDAV, SMB, and even HTTP.
Leafpad
Leafpad is a GTK based GUI text editor with emphasis on simplicity. Leafpad is very lightweight. It feels an awful lot like a Linux native notepad alternative. The simple, bare bones approach notepad… er… I mean Leafpad takes on text editor design is excellent if you don’t need a lot of extra features.
Leafpad includes basic programming features like auto indentation and line numbers. The GUI interface is menu driven with the option for using keyboard shortcuts. Leafpad is open source software, released under the GNU GPL.
MEdit
MEdit is a GUI text editor that uses menus. Originally part of the GGAP project, it has since become a text editor in its own right. MEdit supports regular expression find and replace and customizable syntax highlighting.
Nano
Nano (AKA GNU Nano) is a another console based text editor with keyboard based commands. Although it doesn’t have GUI style menus, the commands are listed at the bottom of the screen. This way, you get the efficiency of using keyboard commands without the inconvenience of having to actually memorize them. A pretty nifty idea that isn’t very common among other text editors. The drawback seems to be that there aren’t a lot of commands available. Also, each command sacrifices a little bit of screen real estate. However, Nano doesn’t otherwise occupy much screen real estate with anything other than the file you’re actually working. I think they do a good job of choosing a good command list to screen real estate ratio.
Nano was initially released in 1999 under the name TIP, an acronym for This Isn’t Pico. It was later released in 2000 under the it’s current name, Nano. It is written in C and distributed under the GNU GPL as open source software.
NEdit
NEdit was written for the X Window System using C and the Motif toolkit. NEdit features syntax highlighting and auto indentation. With their last major release in 2004, NEdit has pretty much become abandonware. Even so, there have still been minor updates released since then.
Pico
Pico (short for Pine Composer) is a command line based text editor developed by the University of Washington. It is part of Pine (Pine’s message composition editor), although it is also available by itself.
Pico uses keyboard commands and lists available commands at the bottom of the screen. Users of the Nano text editor will be familiar with this feature. Unlike Nano, Pico is not open source.
Sandy
Sandy is an ncuses based text editor from suckless.org. If you value simplicity, it doesn’t get much better than Sandy. This really applies to everything from suckless.org. Their stuff is pretty great! Features syntax highlighting and regular expression search.
Sandy has a similar feel to surf, a web browser from the same author. Works great on just about any X11 system. Sandy can by run remotely over SSH.
Sandy is written in C and is a relatively simple program. It is intended to be compiled from source by the end user. Preferences are chosen at compile time.
SciTE
SciTE is based on the SCIntilla source code editing component. There are versions available for Linux, as well as Windows and OS X (in the Mac App store, which as of this writing costs $41.99).
Sublime Text
Sublime Text is great. It’s not going to beat proficiency with something like VIM. But if you haven’t taken the plunge to mastering VIM, Sublime Text offers a very really good balance between ease of use and raw text editing power.
Sublime text has a pretty impressive feature set. Goto anything makes it pretty straight forward to find files and then find what you’re looking for inside that file. Multiple selections allows you to make multiple changes at the same time. The command palette let you search through available commands. Distraction free mode fills the whole screen with just the file that you’re currently working on. Project management is quick and easy to use. Split view editing makes it possible to work on multiple files at once, or on multiple views of the same file (pretty neat!). A thumbnail view of your file is displayed vertically on the right side of the document, providing a nice, graphical interpretation of where you are in the file.
Sublime Text may not be open source and it certainly isn’t free. But it is pretty darn awesome. There are versions available for Linux, Mac OS X, and Windows.
Tea
Tea feels similar in use to the Geany text editor. It is an easy to use text editor with GUI menus and some good features. Tea is an acronum for Text Editor of the Atomic era. It supports syntax highlighting, tabbed windows, bookmarks, and customizable keyboard hotkeys. Tea is written in C++, with different branches using the Qt and GTK libraries. There are prebuilt versions available for Linux, BSD, Mac, OS/2 and Windows.
UEx (UltraEdit for Linux)
UltraEdit is a powerful text editor for Windows users. An alternative version of the program for Linux, called UEx, is available from the same authors. UEx excels as a hex editor. It’s also pretty great for plain text (duh), HTML, PHP, Perl, Java, Javascript, and XML.
UEx features build in project management, file favoriting, bookmarking, character property inspector, cod folding, syntax highlighting, column editing mode. UEx supports macros and is scriptable. Similar to UltraEdit on Windows, UEx isn’t free or open source.
Vi
Vi is a powerful command line text editor that has been around since the 70’s. It was written in C and can be run on just about anything. Vi was pretty much succeeded by Vim (an acronym for Vi IMproved) in the early 1990’s. That said, Vi is still around and in use.
VIM
VIM is tough to master. But once you do, it’s awesome. The name is shorthand for Vi IMproved. If you’re looking for a text editor that is extensible and versatile, has been around for a long time, will be around for a long time, is efficient in terms of productivity and resource use, and and can run on pretty much anything, you should definitely give VIM a try. If VIM sounds like your cup of tea, then be sure to check out our quick start guide: