Best Text Editors for Linux

A computer program that allows us to edit plain text is called a text editor. Text editors are improving day by day many of them can be used as IDE to write code in various programming languages and provide features such as syntax highlighting, text formatting, etc.

On a Linux system, text editors broadly can be divided into two types –

  • Command-line text editors¬†– These can be used to edit the text in a terminal for example vim, nano, etc.
  • GUI-based text editors – This type of editor provides a graphical interface where you can edit text the examples are gedit, notepad++, etc.

There are some text editors that can be used as a command-line text editor as well as a GUI text editor for example Emacs, gedit, etc. In this article, we will discuss some most widely used text editors in Linux.

Vi/Vim

Vi or Vim (Vi Improved) is a powerful command-line text editor. It operates in different modes the two basic modes are command mode and insert mode. Vim provides a set of commands that can be run in command mode. Command mode is the default mode and you can switch to it from insert mode by pressing Esc.

Similarly, you can switch to insert mode to start entering text by pressing i. Once you get familiar with it you will see this is one of the most efficient command-line editors.

The key features of this editor are –

  • Memory efficient
  • Highly configurable
  • Digraph inputs (useful in programming)
  • Supports multiple windows
  • Can be customized with plugins

To know more about vi/vim you can read how to use a vi text editor an easy guide.

Nano

Nano is a simple, user-friendly, and easy-to-use text editor. It emulates the Pico text editor and provides additional features and functionalities.

Like vim, it does not operate in different modes. Using this is easy for both new and advanced users.

The key features of Nano text editor are –

  • Intuitive and easy to use
  • Offers interactive search and replace
  • Auto indentation
  • Filename tab completion

To know more about nano text editor you can see how to install and work with the nano text editor in Linux.

GNU Emacs

The Emacs or GNU emacs is one of the oldest and feature-rich text editors. Initially, it was developed for the Unix-like operating systems later it was ported to other platforms as well.

Emacs is known for extensibility and customizability which means you can customize and extend the text editor to use it as Integrated Development Environment (IDE) for different programming languages such as C, Java, Python, etc.

The key features of this editor are –

  • Highly customizable
  • Offers GUI mode
  • Provides various functionalities such as project planner, mail and news reader, calendar, etc apart from text editing
  • It has a separate package management system to install and use an extension on it

You can use this editor in the command line as well as in a separate GUI window.

To launch the editor in GUI mode, use the given command in your terminal.

emacs

OR use to open a file

emacs filename

If you want to use it in terminal then use –

emacs -nw

OR to open a file using –

emacs -nw filename

To know more about emacs you can read how to install and use GNU emacs on Linux.

The given image shows the graphical window of the emacs text editor.

Sublime text editor

Sublime is a powerful cross-platform text editor built especially for editing code, markup, and prose. It supports various programming languages and you can extend its functionality by using available plugins.

The key features of a sublime text editor are –

  • Highly customizable both in appearance and functionality
  • Go anything feature lets you quickly navigate files, lines, or symbols
  • Python-based plugin API
  • Syntax highlighting

You may not have sublime installed on your system. You can install it by using one of the given commands –

To install on Ubuntu/Linux Mint/Debian, use –

sudo apt install sublime-text

If you are using RHEL/CentOS then use –

sudo yum install sublime-text

On Arch Linux and Manjaro use –

sudo pacman -S sublime-text

Gedit

Gedit is a simple and easy-to-use GUI-based text editor that comes default in GNOME desktops. This can be configured for various other functionalities apart from the default ones. Beginners can easily start working with it.

The key features of this editor are given below.

  • Supports syntax highlighting
  • Configurable fonts and colors
  • Search and replace text
  • Has a flexible plugin system
  • Supports multilingual spell checking

If you are not using a GNOME desktop you may not have Gedit preinstalled on your system. You can use one of the given commands to install it.

To install it on a Debian based system use –

sudo apt install gedit -y

If you want to install it on CentOS/ RHEL/ Fedora use –

sudo yum install gedit -y

Neovim

Neovim is the fork of popular text editor vim which aims to update the functionality and reusability with modern GUI, asynchronous job control, etc. If you are familiar with using vim then you will also find it easy to use neovim.

The key features of Neovim text editor are –

  • Supports XDG based directories
  • Compatible with most of the vim plugins
  • Includes a terminal emulator to run commands
  • Free and opensource

You can find the installation instructions of neovim from its official git repository.

Atom

Atom is a free and open-source text and source code editor for Linux, Windows, and Mac OS.  It is developed and maintained by GitHub. It is considered as one other best ide for Python programming.

You can enhance the features of the atom by installing plugins.

The key features of Atom are –

  • Syntax highlighting
  • Search and replace
  • Has its own package manager to install plugins
  • The teletype feature allows you to share your workspace with other users
  • Embedded git support

You download and install .deb and .rpm packages of the atom from its official website.

VSCode

Visual studio code or VSCode is a free and open-source text and source code editor developed by Microsoft. It is a lightweight IDE that has powerful features.

The key features of VSCode are given below.

  • Integrated command-line interface
  • Highly customizable using available extensions
  • Full debugging capability
  • Smart code completion feature
  • Built-in code linter

This is available for the various platforms you can visit its official website to download the relevant package of VSCode.

gVim

gVim is the graphical version of the popular text editor Vim. It has all the features similar to vim beginners may find it easy to start with the graphical version of vim.

You can install it by using one of the given commands –

To install on Ubuntu/ Linux Mint/ Debian use –

sudo apt install vim-gtk3

If you are using RHEL/CentOS/Fedora then use-

sudo yum install gvim

In Arch Linux or Manjaro use –

sudo pacman -S gvim

Leafpad

Leafpad is a simple and lightweight text editor which is popular among many Linux users. It is an easy-to-use editor so beginners as well as advanced users both can use it.

Some key features of Leafpad text editor –

  • Codeset options
  • Auto multiline indent
  • Display line numbers
  • Support drag and drop option

You can use the given command to install it using the snap package manager on Linux.

sudo snap install leafpad

Kwrite/Kate

Kate is a feature-rich highly pluggable text and source code editor that comes default in KDE desktops. It stands for KDE Advanced Text Editor. You can download and install it manually if you are not using the KDE desktop.

The key features of Kate text editor are –

  • Text rendering in bidirectional mode
  • Color-coded syntax highlighting
  • Extensible via XML files
  • Automatic detection of file characters

Use the following command to install it on Debian based systems –

sudo apt install kate

To install it on an rpm-based distribution use –

sudo yum install kate

If you want to install it on Arch Linux or Manjaro then use –

sudo pacman -S kate

JED editor

JED is a command-line text editor it shows a terminal-based menu such as a dropdown menu for file, edit, search, etc.

The key features of the JED text editor are –

  • Color syntax highlighting in terminal
  • Dropdown menus
  • Supports code folding
  • Extensible in c language

Use the following command to install it on Debian based systems –

sudo apt install jed

To install it on an rpm-based distribution use –

sudo yum install jed

If you want to install it on Arch Linux or Manjaro then use –

sudo pacman -S jed

Notepad++

Notepad++ is a text and source code editor originally built for the Windows platform. You can customize and extend the functionality by using available extensions.

The key features of Notepad++ are –

  • Code folding
  • Syntax highlighting
  • Perl compatible regular expression
  • Supports simultaneous editing
  • Bookmark support

You can install it on the Linux system by using –

sudo snap install notepad-plus-plus

Bluefish

Bluefish is free text and source code editor available for various platforms. It has various tools for programming and website development.

The key features of Bluefish editor are –

  • Light and fast
  • Multiple programming language support
  • Code block folding
  • Spell check feature
  • Search and replace
  • Supports remote file editing

Use the following command to install it on Debian based systems such as Ubuntu, Linux Mint, etc –

sudo apt install bluefish

To install it on an rpm-based distribution such as RHEL, CentOS, Fedora, etc use –

sudo yum install bluefish

If you want to install it on Arch Linux or Manjaro then use –

sudo pacman -S bluefish

Geany

Geany is a lightweight text and source code editor with basic features of IDE. It is available for various platforms including Windows, Linux, FreeBSD, Mac OS, etc.

The key features of the Geany are given below.

  • Auto code completion
  • Syntax highlighting
  • Code folding
  • Support for various programming language

You can install this on your Linux system by using one of the given commands –

To install on Ubuntu/ Linux Mint/ Debian use –

sudo apt install geany

If you are using RHEL/CentOS/Fedora then use-

sudo yum install geany

In Arch Linux or Manjaro use –

sudo pacman -S geany

Conclusion

There are so many other text editors available in Linux. The editors given here are used by most of the users and I am sure if you are using Linux then you may familiar with many of them.

Now if you have a query then write us in the comments below.

Leave a Comment