A text editor is very important for any operating system. Be it taking quick notes, drafting a document, or even coding a script, it is the best tool for the job. For Linux, you’d be amazed by just how many different text editors there are out there. To help you decide which text editor you want to use, here we cover the best text editors on Linux.
Also read: 5 Useful Emacs Packages for Better Productivity
1. Atom
If you’re looking to jump in at the deep end of text editing, then the GitHub-developed Atom could be for you. It can be a bit confusing when starting from scratch to know which packages to install, but that’s the nature of the text-editing beast.
Atom isn’t the lightest text editor out there, and if you’re just configuring files or other small-ish jobs, then it might not be for you. For things like programming and scripting, however, and working across multiple files at the same time, Atom is up to the task. It supports thousands of packages (all accessible via the built-in package installer) and plugins written in Node.js. If you’re coming to Atom from the popular Vim, you can use it in vim-mode to help you find your feet, and in 2017 GitHub released an IDE version that can help speed things along for many users.
Atom has an elegant GUI implementation, though you can also use its command-line mode for a more familiar experience. It’s trickier than most text editors to grasp but invaluable for heavier-lifting tasks.
Also read: Visual Studio Code First Impressions
2. Visual Studio Code
Visual Studio Code, or VSCode for short, is a Microsoft-developed code editor, though it can double as a simple text editor, too. It is free to use and based on open-source tech, and it’s quite lightweight for the power it has.
VSCode is quite a powerful editor. It has a huge variety of extensions available. These extensions allow you to add additional language support, themes for VSCode, and formatting options, and more. Primarily with language support, this will turn VSCode into an IDE for any of these programming languages. There’s a built-in terminal, which is huge for running and testing scripts. Additionally, there’s a technology called Intellisense. This takes syntax highlighting one step further, allowing for intelligent code completion based on variables, functions, and imported modules. It’s a simple editor when you want it to be, but you can pack lots of features and functionality into this lightweight program.
Also read: 5 Hidden Features You Can Use to Improve Emacs
3. Nano
If you are constantly working on the terminal, then I strongly recommend Nano. Other editors like Vim and Emacs are equally great, but I think the workflow for command line editors makes the most sense with Nano. It is installed by default in most distro, and if it is not, installing Nano is just as simple as this:
# Debian/Ubuntu based distro sudo apt install nano # Fedora sudo dnf install nano # OpenSuse sudo zypper install nano # Arch sudo pacman -S nano
The beauty of Nano is that it is easy to use. (Even then, we have a beginner’s guide to Nano to help you get started.) While Vim is powerful and comes with a huge complex of commands and keyboard shortcuts, Nano allows you to just open a file and start typing. It has limited functionality but also has minimal complexity.
Also read: 7 of the Best LaTeX Editors for Linux
4. Xed
Most Desktop Environments will include a text editor in them, and they’re not to be ignored. They’re extremely simple GUI editors, so you can use your mouse to highlight. There are graphical options for Find and Replace, for example, and it’s comfortable to interact with. The best of these, in my opinion, is Xed, the default baked into Cinnamon. It has a simple, sane interface that makes using it so simple. It’s great for working with text files like configuration files and basic shell scripts. I highly recommend giving it a try at least once.
5. Sublime Text
Sublime Text is a wonderful IDE-like text editor for Linux (and other platforms). It’s a wonderful piece of software. The developers themselves say that Sublime text is “a sophisticated text editor for code, markup and prose.”
It has a wide array of excellent functionality, including multiple selections for easy variable redefinition, easy GoTo functionality with lines, files, and symbols, and a vast command palette.
It also has a powerful Python API, so you can create your own custom plugins as well that will suit your needs. Sublime also has some really nice quality-of-life features, like brightly-colored syntax highlighting, tabs for multiple projects that are easy to navigate, and its notorious feature of “never losing a project.”
You don’t have to save anything – it will just remember the projects you were working on. It’s great to see that in an editor where people are supposed to get real work done – if your laptop dies or you the application suddenly quits, you’ll still have all your work. While Sublime Text is available to use for free, it is still a licensed software. If you have used and liked Sublime Text, I strongly recommend purchasing the license to support the developer.
6. Geany
Looking for a simple text editor that can double as an IDE? Geany is probably your best choice. This is a text editor specifically designed around development. In fact, it has tons of development features: call tips, code navigation and even a code building system.
If you’re looking for a graphical text editor and have a serious interest in writing code, Geany should be on your list.
Final Thoughts
Linux Text editors are serious business. Everyone has a strong opinion about what they feel is the best one. None of them are wrong, of course. Each editor has its strengths and weaknesses, and even if none of the text editors in the above list interest you, there are still many alternatives around, like the CherryTree Notepad, which didn’t make the list above.
Our latest tutorials delivered straight to your inbox