War! Best text editor of them all.
Text is the bread and bacon of pretty much every digital creation. Games, software or just pure prose, they all start as innocent words, text, written onto a blank canvas of pixels. Whether you’re talking about your website, your summer project or maybe notes, you should keep a text editor handy. Which one? Well, let’s have a little competition. Or at least, an all-out melee.
The only war more fierce, more longer lasting than the famous Thirty Years’ War is the war of the Linux text editor, famously started back in the golden days of vi and emacs. But it continues to this day, and I am going to pour some fresh gasoline onto the fire. Remember, I will not review them all, nor all of their capabilities, so if you have complaints, scroll all the way to the bottom and hammer down your comments of wrath and displeasure.
I will begin with the geekiest of them all. Vi is as powerful as it is spartan, and not meant for the fainthearted. If you have not grown with it, you will probably hate it, or at least, not enjoy using it. The separation between the commands and text can surely be baffling and counter-productive in the short run. However, if you like to write rain-man style, without biting your tongue and staring at the keyboard, wondering which stroke comes next, you might find the frugal, ultra-masochistic efficiency of vi compelling.
The editor’s olden age means it has spawned numerous versions and plugins, which can help enhance the default behavior. You get syntax highlighting, visual mode, regex search, command line, and more. The big problem for less skilled users is, there is no menu to help you decide what you want to do, so you have to have a plan, or at least, understand and remember the keyboard shortcuts.
Here’s another terminal window darling. Nano is designed to run inside one of your favorite console emulators, and it’s a single window entity, so no tabs. It emulates pico, yet another text editor of yore, which means it is keyboard oriented. Unlike vi, it is a little more helpful in providing a basic menu of most popular shortcuts.
Since we’re discussing the hardcore players first, then emacs is another candidate for the geek in you. Like vi, it hails back to ancient history, and it’s spawned numerous children and bastards all over the GNU realm. Now, from the purely human machine interaction perspective, Emacs is not a very friendly text editor. Everything about it is counter intuitive, so you will need some time figuring out the rules of the game. That said, it comes with some 2,000 built-in commands and it supports macros. You can invoke shell commands and external programs directly from its interface.
There is a nice menu, though, with tons of options. You can use it to invoke a calendar or a calculator, read news and send email, compare documents or work buffers, encrypt files, check spelling, and more. Dozens of versions and themes are available, so if you do not like a particular flavor of the program, you can always try a different one, or decorate it as you like. Last but not the least, should emacs cause a slight mental meltdown, the nerds who created the software embedded a psychotherapist function into the user interface. Feel free to vent your anger there.
We’re getting physical, or rather visual. Gedit is the popular de-facto text editor of all Gnome-like desktop environments, including Gnome itself, MATE, Cinnamon, and a few others. It is simple looking, but quite powerful. You have tabs, text and syntax highlighting, line numbering, support for numerous languages, and printing to PS and PDF formats. Even more importantly, Gedit comes with plugins, which can be used to enhance the basic experience.
This is the default text editor for the KDE desktop environment, a successor to KWrite. Like most KDE tools, it comes with a dazzling array of options. The Kate text editor can auto-detect more than 200 languages, it offers tabs, although arranged in a slightly different manner than most of the competition, macros, vi-like behavior should you feel nostalgic, plugins, regular expressions, and native support for a range of network protocols. Kate can also spawn a separate console window where you can use any which shell and program you want.
But this is only a warmup. Kate will also do auto-completion of text and automatic closing of brackets. You can pipe text to a terminal, comment your documents, set bookmarks, and perform a wide range of text manipulations and changes. If you wish to utilize Kate to the fullest, you will need some time figuring out all the settings and features available in its window. However, you will not suffer, because the layout is simple and friendly, which is a big bonus over the text-only editors. Emacs offers a similar set of capabilities, but they are nowhere near as accessible.
Compared to Gedit and Kate, Leafpad feels somewhat naked. A lightweight solution for the less resource-hungry desktop environments like Xfce and LXDE, Leafpad is a single-window only editor with a limited set of options, designed mostly to let you manipulate your text a little, but not much beyond. The search & replace functionality is rudimentary, and you do not get any syntax highlighting, although you have line numbering. All in all, it’s quite modest, and okay if you just need to read a few lines of text now and then.
Wait a minute! Isn’t Notepad++ a Windows software? Yes it is, but you can install it using the WINE framework, and you should definitely consider doing so. This is a very versatile and powerful text editor, and it works great in Linux too, all except the ugly default Windows theme, which is forced by WINE. But if you ignore that, then Notepad++ offers support for hundreds of text types and programming and scripting languages, macros, plugins, tabs, and more. It can preview documents in external browsers, run scripts, and convert ASCII to HEX, or vice versa. Notepad++ can be rather useful for people who multi-boot their Linux with Windows, because it allows them to retain a uniform look & feel and familiar behavior, especially since Notepad++ offers a rich repertoire of options and functions.
So now, which one of these candidates is the best? All right. I guess the answer is obvious, and you may call me biased. But Kate is the favorite choice, closely tailed by Notepad++, which isn’t so obvious. It simply has the richest, most useful set of options and tools available, presented in a clean, hassle-free manner. You may not find immediate application to all of what it can offer, but you will get to learn and like the sheer availability of what it can do. Whether you intend to use it as an HTML editor, for code development, or massive archiving of useful documents, wiki-like pages and such, Kate has its honorable place in your collection. Notepad++ is right there, almost as good.
Gedit comes third, and then it gets muddy and totally personal. But I think that text-only text editors are less practical for most people, and you do need tabs and all the modern features in our colorful digital age. Still, since we’re discussing absolute controversy first, software second, I am most certain there’s a lot left to debate. And let’s not forget half a dozen other text editors we haven’t mentioned here. So I must bait you again, and request your input. And that would be all.