War! Best text editor of them all.

Featured

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.

Vi

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.

Vi, with text highlight

Nano

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.

Nano

Emacs

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.

Emacs

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.

Emacs options

Emacs psycho help

Gedit

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.

Gedit, numbering, highlights

Gedit plugins

Gedit spelling

Kate

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.

Kate, main window

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.

Kate, split windows, terminal

Kate options

Leafpad

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.

Leafpad

Notepad++

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.

Notepad++

Notepad++ options

Conclusion

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.

Cheers.

 

Igor Ljubuncic aka Dedoimedo is the guy behind Dedoimedo.com. He makes a living out of his very hobby - Linux, and holds a bunch of certifications that make a nice pile in the bottom drawer.

  • Thobou

    What about Geany?

  • Däng

    Huh, no ST2/3?
    Sublime Text, anyone? Sublime text… Easily the best of them lot!

    • ViruSzZ

      Sublime Text 2/3 FTW, really. I mean, it’s a must when working in init 5. vim on command line is awesome, though

      • Beobachter

        I dropped Sublime Text for Emacs. The licensing model doesn’t fit me.

    • gyffes

      Most of the good coders I work with have moved to ST, largely b/c it’s multi-platform but also because at least one of them is a Vi/vim nutjob and ST allows those key commands. That’s power, versatility, and ease of use in one application. Not bad.

    • http://www.jzahdev.com/ jzahdev

      Agree, I use it for Rails development and it does a great job.

  • Beobachter

    Emacs is quite intuitive once you’ve been using it for long enough.

    • Real_PTR

      Flying a jet fighter also is quite intuitive if you doing this for living long enough ;-)

      • Beobachter

        You can’t read mail with a jet fighter.

        • gyffes

          but you can send a helluva message!

        • Real_PTR

          Considering the amount of electronics in a modern jet fighter? I bet you can!

  • cmllamacho

    What about the point of view of productivity?. Rumor has it that one you have mastered vim/emacs you can hack through code like butter. Is this true, and if so, do other editors give you this?

    • Beobachter

      Yes, it is, and no, they don’t.

      • cmllamacho

        Then one can say, that in the long run, is better to stick with vim/emacs even if at first it seems like banging yourself with a rock. Correct?

        • Beobachter

          Correct, especially given that Vim is around for 23 years now, Emacs lasts a few decades longer. Not sure if other editors will stay for this duration.

  • Ankleface Wroughtlandmire

    I personally hate how the search feature of Gedit disappears after the last match is located. This causes the search bar to disappear, and if I’m not carefully watching, I keep hitting ENTER to find the next match but end up banging a bunch of newlines into my text file by accident.

  • runbei

    Don’t get me started. Back in 1982, we had the proto…germ…beginnings of a very decent text crunching tool that could be used by everyone from secretaries to executives to coders. It was, of course, WordStar. And then Microsoft and others began shining on to the secretaries, and word processing slid all downhill into its present morassic state.

    I persist in believing that a small software shop could make a fortune by giving us a real WORD cruncher’s tool again. Note: not a menu-driven girly-man sissy text formatter, or a Detachment Delta-strength coder’s FN SCAR Assault Rifle.

    Whether it’s Notepad++ or MS Word, the first thing I look for is a way to get back those WordStar cursor-diamond editing keys, which I enhance using built-in shortcut customization features and/or macros, enhancing them with my full-time writer/editor’s pack of desired functions. E.g., Ctrl-L means delete last word. But no amount of fiddling with the built-in tools can provide the ability to have several text blocks marked at the same time and jerk/copy them to the cursor location, and so on.

    Give us a word processing app with a steep learning curve and features we can use with endless creativity. That was the feeling WordStar gave us, when juggling words was fun. Millions of people are forced to crunch words all day, and many, many of them would shell out for a great, industrial-strength tool.

  • Dedoimedo

    I actually use vi at work, and it’s not fun. Help is fine, but then you don’t need help to use some of the other text editors, so we can toss that out. I’m glad you rose to the call.
    Dedoimedo

  • John Doe

    There is no doubt, VIM (or GVIM if you prefer the GUI version) is definitely the best. End of discussion.

  • Beobachter

    You’re wrong though. The only (!) vi version is from the mid-70s, Vim is an entirely new application which has been started in 1991.

    • Nelson Teixeira

      Yes, but made with vi as base. Same commands, same “feeling”, the help file enhances the differences with “{not in vi}”. Even the name means “vi improved”, so…

      I guess they are really close buddies :)

      • Beobachter

        But there’s not “active development since 1976″ (although the FreeBSD Project kindly adds some code to the original vi every now and then).

        • Guest

          That’s why I use Vim… :)

        • Nelson Teixeira

          That’s why I use Vim… ;)

          • asdf

            NeoVim anyone?

          • Nelson Teixeira

            Didn’t knew this project. Seems promising. Will keep an eye on it. Thanks for sharing.

  • Aleksandar Kolman

    Maybe I am a little bit biased toward DOS/Win in this regard.
    As a console tool I used to use QEdit, which at the time (beginning of ’90s) was incredibly powerful, particularly in ASCII Art “department” or for example for Clipper. When I have to Vi config files in Linux server, I just can’t but curse how cumbersome and (at least for me) counter-productive edit modes are. I found Pico with more of a Norton Commander mentality, better suited for my admin tasks.

    Once in GUI, I look no further than Notepad++, which I use for CSV, CSS, PHP, HTML editing without sweat.

  • Harakiri

    Indeed, Geany is something that definetly should have been mentioned here. Tons of features and still a slim editor.

  • mazz

    I think Gedit and nano is the best, why? I come from Windows world before Linux and damn, Vi?Vim sucks and outdated! do you people ever learned how important UI is?? especially GUI! It’s almost unuseable for me to work with Vi/Vim.

    • asdf

      I wouldn’t say outdated, seeing as how it’s still being developed, and a fork has appeared to reimplement some things called NeoVim. Also, if you oh-so-need a GUI, consider GVim.
      Of course, there’s the steep learning curve of vim. If you don’t want to spend time learning it, stick to Gedit and nano.
      Anyway, everyone has his/her choice for a text editor. None is ‘better’ than the other. Every editor fits for a different kind of person.