What is a good text editor on Linux

Want to launch a heated debate among Linux aficionados? Ask them what is their favorite text editor. In the open source community, choosing a software to write text with, and potentially to write code with, is such an important decision that choosing a football team or a game console is less dangerous. But anyone new to Linux should not be apprehensive of the plethora of advice and the variety of trolls on the topic, and instead try to get familiar with a bunch of different text editors in the first place. So today I shall propose you a non-exhaustive thematic list of what you can find to write text with on Linux. This list will (try to) exclude the full-fledge IDEs, which are only made for programming, and the editors made specifically for LaTex. If you are interested in the latter, I can recommend you to this post.

1. Vim & Emacs

Let's go straight to the big guys. When someone asks about text editors on Linux in a room, one person will immediately respond Vim and another will say Emacs. And there are very good reasons for that. They are both very powerful editors, with a lot of features, a lot of plugins, and a very strong community ready to support anyone. If you are not familiar with them at all, it would be a bit hard to describe the extent of their capabilities. But put simply, they allow you to move very quickly within the text, make huge edits very simply, record macros, and do basically any crazy things you might want to do with text. The downside to both of them is that the learning process to control what you are doing is unavoidable and takes time. Past this point, I will not sink into the debate of declaring one better than another, but really recommend that everyone learn at least one of the two.

2. Sublime Text & Lime & Atom

Another text editor which has been on the rise for these past years is Sublime Text. Some may see it as a friendlier version of Vim or Emacs, clearly designed for programming. Indeed, it retains some similarities like the batch edition and the goto function which will remind some of Emacs or an energized Vim. However, it remains more visual and accessible. Also, the large number of plugins will seduce those inclined to customization.

The only gray point to Sublime Text is its license: if you only use open-source, go away. Hopefully, to deal with that, an ambitious clone called Lime appeared recently. It is still under heavy development, but the spirit is here: a similar experience to Sublime Text, with the after taste of open source. Nothing more to say except admiring the effort.

Even more recently, Atom, the official competition to Sublime Text coming from GitHub was released also as open source. Wanting to provide a full-featured out of the box editor, Atom comes packaged with all you need to jump around files, use code snippets, etc. However, its strength remains in its easy customization process based on HTML and CSS, and its Node.js integration. This is as far as we will go in this list before actually reaching the definition of an IDE.

3. Gedit & Kate & Mousepad & Leafpad

If we leave the realm of the super-powered editors, we can turn to what I see as the "desktop environment classics." These editors are more traditional in the sense that some can be enhanced with plugins, but that their focus is simply to write text. If you have an idea in mind and want to jolt down something before you forget about it (I blame video games for my short attentions span), you are not going to learn or even need the shortcuts in Vim or Sublime Text. You just want to some blank space. The good thing about these editors is that they are more or less well integrated with your desktop environment. In this category, Gedit and Kate, for Gnome and KDE respectively, mirror their environment, and are customizable via plugins, which makes it easier to write LaTeX, for example. Mousepad and Leafpad are more appropriate for lightweight desktops like Xfce and LXDE. They are in a way close to Windows' notepad. So if you are looking for flexibility and accessibility, pick here.

4. Nano & Qute

Another popular "family" of text editors is the distraction-free editors. If you like to have Facebook or Twitter opened constantly in the background, or receive an email every five minutes, you know how difficult it can be to focus on that essay due tomorrow, or this code not compiling. In this case, you need an editor that will take the whole space on the screen, and block everything else.

Probably the least favorite of this kind is Nano. If you want to block any distraction, go without X server. It is simple and straightforward. In fact, George R. R. Martin, the author of Game of Thrones, recently revealed in an interview that he uses a similar DOS Word processor to write his novels.

If you prefer something a bit more keen on the eye, you could like my personal favorite: Qute. No fancy features, maybe a bit of LaTeX to look nice, but the weight is really on the interface. It proposes a beautiful navigation and edition experience. If you are uneasy because of the terminal, Qute is a good alternative.

5. LibreOffice & Calligra & Abiword

Finally, an office suite is also a text editor. I doubt you can code easily on that, but it will certainly be more appropriate for plain text and more quick to pick up than LaTeX. In this category, it would be impossible to avoid LibreOffice and Calligra, the two behemoth in term of featues and fame. I like both of them, but a lot of people have a clear preference for the former over the latter. If you miss Microsoft Word, you will be in your realm. A bit of the underdog, Abiword is a lightweight alternative to those. If you goal is just to edit a word document, and you do not care about spreadsheets or databases, Abiword will do the trick while preserving the features.

To conclude briefly, if I had one advice to give, it would be to pick the editor that people around you use. If for some crazy reason everyone you know uses LibreOffice to code in C, or Sublime Text to write a novel, and that you have to do something similar, you should follow the trend. The reason being that if you encounter a problem and need some help, it will be easier for them to bring it to you.

What is your favorite text editor? What do you use it for? Please let us know in the comments.

Subscribe to Xmodulo

Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.


Support Xmodulo

Did you find this tutorial helpful? Then please be generous and support Xmodulo!

The following two tabs change content below.

Adrien Brochard

I am a Linux aficionado from France. After trying multiple distributions, I finally settled for Archlinux. But I am always trying to improve my system by stacking up tips and tricks.

Latest posts by Adrien Brochard (see all)

32 thoughts on “What is a good text editor on Linux

  1. I have to mention 'Focus Writer' for writers. It hides the interface unless needed and lets the writing area take over the screen.

  2. I first learned word processing on WordStar, back in the middle ages. So when I'm running without X I generally use Joe for straight text and vim for code or quick 'n dirty notes.

    In X I'll use Gedit or Kate, depending on my mood and what I'm editing. Kate outside of KDE (Gnome, Openbox, etc) is slow-loading but it's more flexible and I like its markups better for working directly with specific formats. Gedit for simpler stuff because I like it and I'm rarely in KDE unless I'm fiddling with stuff in a KDE VM which is not the way to spend large amounts of time IMO.

    For paid writing I use Libre (saving in .docx) for first drafts, then MS Word in a Windows VM for compatibility with reviewers, doing incorps of others' comments, etc. It's a hassle but Libre isn't all that compatible when you're working with mark-ups by people who use different versions of Office.

  3. To this day I still cannot fathom how anyone likes pico or its successor nano.

    simple tasks: vim
    complex tasks: emacs

    • Well, it's not that hard to see really. It's the fact that you don't need an instruction manual to get started. You can just type away and all the instructions you need are there at the bottom of the screen. Of course, even with nano, you'll soon run into its limitations and either work in a very constrained fashion or be forced to move up to something a little more powerful. For people who are running into nano's constraints and don't feel up to vim or emacs, I suggest joe as a possible next step.

    • Why would that be?
      I can do ANYTHING in nano much faster than you. I challenge you to prove me wrong.

      Other than elitist attitude, I do not see why this hate for nano. I like things simple, for simple text editing.

  4. I enjoy SublimeText. They have a free and paid version. The free has all the functionalities of the paid one but you get a popup once in a while telling you it is the free version. I recommend it.

  5. In the GUI, I generally use Geany, but that's because I'm often writing code. I've used Gedit, Mousepad*, and Leafpad a decent amount as well. On the command line it's either emacs or joe (I'm not crazy about having to keep track of which mode I'm in, so that's why I don't use vim much).

    * I think it might be worth mentioning that I believe that development for Mousepad has ceased altogether at this point. It was created as a fork of Leafpad to add printing support, but after Leafpad got printing support interest in Mousepad development evaporated. There was an effort to make a new better version for a while, but I don't think it ever really materialized.

  6. Are the age old editor argument. This will still be going on long after the sun has died. However I can't resist...code blocks because its an integrated IDE and uses scintilla.

    • Code::block is good as IDE for C++ but still very crashy. QtCreator is much better. But both of them are very slow and clumsy as simple text editors.

      My point goes to Geany as it starts relay fast.
      But in console I use vim, its the only editor that is usable if you have over 100ms lag in your console (e.g. over ssh), but you need learn more then how to change to insert mode.

  7. Remember how in the 90's some were saying that Emacs stands for "Eight Megabytes And Constantly Swapping". I won't take part in this nonsense flamewar by stating that Vim rulez..

  8. All the above are good choices. Myself, I like nedit - have been using it on everything from Windows (Cygwin), to Unix, to Linux, to QNX for about 20 years. Language context sensitive, with some really awesome features. It was developed by a friend of ours at Fermi National Laboratory, and is now fully open sourced. Light-weight, fast, handles big files, and just about any programming language from C to bash to make wihtout a hiccup.

  9. In order of simplicity to speed/usefulness (aka complexity):

    gedit/leafpad, etc (default text editor that comes with the distro):
    These are the best for new users or those that want the ease of a gui

    nano, gvim:
    These are good for those that want a relatively simple but more useful editor

    vim, emacs (no wars here):
    Depending on personal preferences, these have the most usefulness but come with the price tag of complexity and a steeper learning curve (thanks for vimtutor!)

  10. The two I use are kwrite, kate's single-document-at-a-time little-brother that uses the same kate kpart, and mcedit, the built-in editor of mc, aka midnight commander (the terminal-based file manager), that can also be run on its own. Both of these have syntax highlighting and the like, and if I need more than a single file open, I simply open another instance in a different window or VT. And mc/mcedit is macro extensible. While neither offer the functionality of the big guys like emacs and vim, or even kate, neither are as stripped down as kedit or nano, either. Both are for me the perfect balance between functionality and ease of use. =:^)

    I'm tending more and more toward mcedit both in a terminal window under X and outside X, for the same reasons I tend toward mc over an X-based file manager under X when I have my sysadmin (as opposed to media user) hat on, it's the same interface either way.

  11. For simple editing tasks (mostly as an extended clipboard): emacs
    For coding & complex editing: vim :)

  12. With everyone praising the old school VI and Emacs I'm going to have to mention SublimeText Editor which is revolutionary in it's simplicity. If you aren't using it already you have no idea what you're missing!

  13. The one true editor is called vi, vim is merely one of its incarnations.

    Our sysadmin had a chastening experience with nano. It seems that, by default, if a line wraps it inserts a line feed. This feature caused him to make the pam configuration file on one of our VM images unparseable by accident. We eventually recovered the server by mounting its system disk on another image and editing the errant file with vi.

  14. I heard that Vim has been outlawed under the Geneva Convention due to allegations of torture. That aside, nano and Leafpad work for me.

  15. For HTML/CSS/JavaScript I like brackets.io the most.
    For basic text/configuration files I like leafpad.
    For console I'd use nano.

  16. "To this day I still cannot fathom how anyone likes pico or its successor nano."
    It reminds me of WordStar.

    Text editor:
    gui: kate (can easily create your own text highlighting (i.e., asciidoc))
    console: nano

    Source editor:
    netbeans

Leave a comment

Your email address will not be published. Required fields are marked *