Text editors can be used for writing code, editing text files such as configuration files, creating user instruction files, and many more. In Linux, text editors are of two kinds that is the graphical user interface (GUI) and command-line text editors (console or terminal).
In this article, I am taking a look at some of the best 21 open-source commonly used text editors in Linux on both servers and desktops.
1. Vi/Vim Editor
Vim is a powerful command-line based text editor that has enhanced the functionalities of the old Unix Vi text editor. It is one the most popular and widely used text editors among System Administrators and programmers that is why many users often refer to it as a programmer’s editor. It enables syntax highlighting when writing code or editing configuration files.
You can install Vim editor in Linux systems using your default package manager as shown.
$ sudo apt install vim [On Debian, Ubuntu and Mint] $ sudo dnf install vim [On RHEL, CentOS and Fedora] $ sudo pacman -S vim [On Arch Linux and Manjaro] $ sudo zypper install vim [On OpenSuse]
If you want to see our complete series on vi(m), please refer to the links below:
- Learn and Use Vi/Vim as a Full-Text Editor in Linux
- Learn ‘Vi/Vim’ Editor Tips and Tricks to Enhance Your Skills
- 8 Interesting ‘Vi/Vim’ Editor Tips and Tricks
Gedit is a general-purpose GUI based text editor and is installed by default text editor on Gnome desktop environment. It is simple to use, highly pluggable and a powerful editor with the following features:
- Support for UTF-8
- Use of configurable font size and colors
- Highly customizable syntax highlighting
- Undo and redo functionalities
- Reverting of files
- Remote editing of files
- Search and replace text
- Clipboard support functionalities and many more
You can install Gedit editor in Linux systems using your default package manager as shown.
$ sudo apt install gedit [On Debian, Ubuntu, and Mint] $ sudo dnf install gedit [On RHEL, CentOS and Fedora] $ sudo pacman -S gedit [On Arch Linux and Manjaro] $ sudo zypper install gedit [On OpenSuse]
3. Nano Editor
Nano is an easy to use text editor, especially for both new and advanced Linux users. It enhances usability by providing customizable key binding.
Nano has the following features:
- Highly customizable key bindings
- Syntax highlighting
- Undo and redo options
- Full line display on the standard output
- Pager support to read from standard input
You can install Nano editor in Linux systems using your default package manager as shown.
$ sudo apt install nano [On Debian, Ubuntu, and Mint] $ sudo dnf install nano [On RHEL, CentOS and Fedora] $ sudo pacman -S nano [On Arch Linux and Manjaro] $ sudo zypper install nano [On OpenSuse]
You can check our complete guide for editing files with Nano editor at:
4. GNU Emacs
Emacs is a highly extensible and customizable text editor that also offers an interpretation of the Lisp programming language at its core. Different extensions can be added to support text editing functionalities.
Emacs has the following features:
- User documentation and tutorials
- Syntax highlighting using colors even for plain text.
- Unicode supports many natural languages.
- Various extension including mail and news, debugger interface, calendar, and many more
You can install Emacs editor in Linux systems using your default package manager as shown.
$ sudo apt install emacs [On Debian, Ubuntu, and Mint] $ sudo dnf install emacs [On RHEL, CentOS and Fedora] $ sudo pacman -S emacs [On Arch Linux and Manjaro] $ sudo zypper install emacs [On OpenSuse]
Kate is a feature-rich and highly pluggable text editor that comes with KDesktop Environment (KDE). The Kate project aims at the development of two main products that are: KatePart and Kate.
KatePart is an advanced text editor component included in many KDE applications that may require users to edit text whereas Kate is a multiple document interface (MDI) text, editor.
The following are some of its general features:
- Extensible through scripting
- Encoding support such as Unicode mode
- Text rendering in bi-directional mode
- Line ending support with auto-detection functionalities
Also remote file editing and many other features including advanced editor features, applications features, programming features, text highlighting features, backup features, and search and replace features.
You can install Kate editor in Linux systems using your default package manager as shown.
$ sudo apt install kate [On Debian, Ubuntu, and Mint] $ sudo dnf install kate [On RHEL, CentOS, and Fedora] $ sudo pacman -S kate [On Arch Linux and Manjaro] $ sudo zypper install kate [On OpenSuse]
6. Sublime Text Editor
Sublime Text is a powerful cross-platform source code editor with a Python programming interface. It supports many programming languages and markup languages, and features can be added by users with plugins, mostly community-built and supported under free-software licenses.
You can install Sublime Text editor in Linux systems using your default package manager as shown.
$ sudo apt install sublime-text [On Debian, Ubuntu, and Mint] $ sudo dnf install sublime-text [On RHEL, CentOS, and Fedora] $ sudo pacman -S sublime-text [On Arch Linux and Manjaro] $ sudo zypper install sublime-text [On OpenSuse]
7. Jed Editor
Jed is also another command-line editor with support for GUI like features such as dropdown menus. It is developed purposely for software development and one of its important features is the support of Unicode mode.
You can install Jed editor in Linux systems using your default package manager as shown.
$ sudo apt install jed [On Debian, Ubuntu, and Mint] $ sudo dnf install jed [On RHEL, CentOS, and Fedora] $ sudo pacman -S jed [On Arch Linux and Manjaro] $ sudo zypper install jed [On OpenSuse]
8. gVim Editor
It is a GUI version of the popular Vim editor and it has similar functionalities as the command line Vim.
You can install gVim editor in Linux systems using your default package manager as shown.
$ sudo apt install vim-gtk3 [On Debian, Ubuntu, and Mint] $ sudo dnf install gvim [On RHEL, CentOS, and Fedora] $ sudo pacman -S gvim [On Arch Linux and Manjaro] $ sudo zypper install gvim [On OpenSuse]
9. Geany Editor
Geany is a tiny and lightweight integrated development environment that offers basic IDE-like features with a focus on software development using the GTK+ toolkit.
It has some basic features as listed below:
- Syntax highlighting
- Pluggable interface
- Supports many file types
- Enables code folding and code navigation
- Symbol name and construct auto-completion
- Supports auto-closing of HTML and XML tags
- Elementary project management functionality plus many more
You can install Geany editor in Linux systems using your default package manager as shown.
$ sudo apt install geany [On Debian, Ubuntu, and Mint] $ sudo dnf install geany [On RHEL, CentOS, and Fedora] $ sudo pacman -S geany [On Arch Linux and Manjaro] $ sudo zypper install geany [On OpenSuse]
10. Leaf Pad
Leaf Pad is a GTK+ based, lightweight GUI based text editor which is also popular among Linux users today. It is easy to use by new Linux users.
It has the following features:
- Codeset option
- Allows auto-detection of codeset
- Options of undo and redo
- Display file line numbers
- Supports Drag and Drop options
- Printing support
You can install Leaf Pad editor in Linux systems using snap package manager as shown.
$ sudo snap install leafpad
Bluefish is an easy-to-install and advanced text editor targeting Linux programmers and web developers. It offers a wide set of features as listed below:
- Lightweight and fast
- Integrates external Linux programs such as lint, weblint, make, and many others and filters, piping such as sed, sort, awk, and many more
- Spelling check feature
- Supports working on multiple projects
- Remote file editing
- Search and replace support
- Undo and redo option
- Auto-recovery of modified files
You can install Bluefish editor in Linux systems using your default package manager as shown.
$ sudo apt install bluefish [On Debian, Ubuntu, and Mint] $ sudo dnf install bluefish [On RHEL, CentOS, and Fedora] $ sudo pacman -S bluefish [On Arch Linux and Manjaro] $ sudo zypper install bluefish [On OpenSuse]
Atom’s feature highlights include:
- 100% open source
- Modern, customizable layout
- Embedded Git support
- Real-time collaboration with Telesync
- Smart auto-complete and IntelliSense
- Built-in package manager
You can install Atom editor in Linux systems using the following commands.
---------- On Debian, Ubuntu & Mint ---------- $ wget -c https://atom.io/download/deb -O atom.deb $ sudo dpkg -i atom.deb ---------- On RHEL, CentOS & Fedora ---------- $ wget -c https://atom.io/download/rpm -O atom.rpm $ sudo rpm -i atom.rpm
VSCode is a robust free and open-source modern text editor built by Microsoft for Linux, Mac, and Windows computers.
It offers tons of powerful features including:
- Full debugging capability with an interactive console, breakpoints, call stacks, etc.
- Built-in Git support with Git commands
- 100% customizability
- Support for tons of languages straight out of the box
- Toggable layouts
- Built-in terminal
You can install VSCode for your Linux distribution by downloading the .deb or .rpm package from the VSCode download page.
14. Light Table
Light Table is a powerful, clutter-free cross-platform text editor built to be customizable enough to be used in any that its user chooses.
Light Table’s features include:
- Inline evaluation
- Real-time watches
- Free and open source
- Plugin manager
- Powerful editing
You can install Light Table on Ubuntu and its derivatives using the following PPA.
$ sudo add-apt-repository ppa:dr-akulavich/lighttable $ sudo apt-get update $ sudo apt-get install lighttable-installer
15. Medit Text Editor
medit is a lightweight open-source text editor for Mac, Linux, and Windows. It originally started as a simple built-in component of the GGAP editor and is now its own stand-alone text editor.
medit’s features include:
- Customizable syntax highlighting
- Support for plugins written in Python, C, or Lua
- Support for regular expressions
- Configurable keyboard accelerators
You can download and install medit from the mooedit.sourceforge.net page.
16. Neovim – Vim-based Text Editor
Neovim is a hyperextensible vim-based text editor with a focus on usability and function extensibility. It was forked from the popular Vim editor in order to aggressively refactor its functionality and usability with modern GUIs, asynchronous job control, etc.
Neovim’s feature highlights include:
- Free and open-source license
- Support for XDG base directories
- Compatibility with most Vim plugins
- An embedded, configurable terminal emulator
You can install Neovim editor in Linux systems using your default package manager as shown.
$ sudo apt install neovim [On Debian, Ubuntu, and Mint] $ sudo dnf install neovim [On RHEL, CentOS, and Fedora] $ sudo pacman -S neovim [On Arch Linux and Manjaro] $ sudo zypper install neovim [On OpenSuse]
Notepad++ is a customizable text editor built with a focus on speed and minimal program size for Windows platforms. It is developed based on Scintilla text editor and can have its functionality extended with tons of plugins.
Its features include:
- Tabbed editing
- Code folding
- Bookmark support
- Document map
- Perl Compatible Regular Expression
You can install Notepad++ editor in Linux systems using snap package manage as shown.
$ sudo snap install notepad-plus-plus
18. Kakoune Code Editor
Kakoune is a free and open-source Vim-based modal text editor with an editing model that implements Vi’s keystrokes as a text editing language.
It has several features among which are:
- Case manipulation
- Piping each selection to an external filter
- Syntax highlighting
- Multiple selections
You can install the Kakoune editor in Linux systems using your default package manager as shown.
$ sudo apt install kakoune [On Debian, Ubuntu, and Mint] $ sudo dnf install kakoune [On RHEL, CentOS, and Fedora] $ sudo pacman -S kakoune [On Arch Linux and Manjaro] $ sudo zypper install kakoune [On OpenSuse]
19. Micro – Terminal-based Text Editor
Micro is a command line-based text editor built to be easy and intuitive enough for users to take advantage of the features in other terminal-based text editors without the steep learning curve.
Micro’s feature highlights include:
- Mouse support
- Multiple cursors
- Terminal emulation
- High customizability
- Plugin system
- Static library with no dependencies
You can easily install micro in your Linux distribution by running the following installation script.
$ curl https://getmic.ro | bash
20. Brackets Text Editor
Brackets features include:
- A beautiful User Interface
- Preprocessor support for SCSS and LESS
- Inline editors
- Live preview
- Multiple tabbed editing
- PHP support
- Supports Language Server Protocol
- Support for plugin extensions
You can install Brackets editor in Linux systems using snap package manager as shown.
$ sudo snap install brackets
21. Lite Editor
Lite is a new text editor mostly developed in the Lua language, that aims to offer something practical, pleasing, tiny and fast, created as simply as possible; easy to alter and expand, or to use without doing either.
22. Ash Editor
ash is a plain and clean command line-based text editor, that designed to be easy to use with modern key-bindings and it is efficient enough to manage a large number of files simultaneously and has a broad array of modern features.
CudaText is a new clean open-source and cross-platform text editor that comes with tons of features which include:
- Syntax highlight for a lot of languages.
- Find/Replace with regular expressions.
- Command palette, with fuzzy matching.
- Binary/Hex viewer for files of unlimited size.
- Support for many encodings.
I believe the list is more than what we have looked at, therefore if you have used other free and open-source text editors, let us know by posting a comment. Thanks for reading and always stay connected to Tecmint.
54 thoughts on “23 Best Open Source Text Editors (GUI + CLI) in 2021”
Sublime is not open source. You should not label it as such.
I use led, a line-oriented text editor:
It is simple and easy to use but has a lot of features.
I love the mousepad, it’s lightweight and customizable.
Please try to look at my project – Multitextor a simple cross-platform command-line text editor.
Please try to look at my project – Multitextor a simple cross-platform command line text editor.
I’m computer illiterate, but before switching to Lubuntu, I used to edit web pages on Microsoft FrontPage. There I could edit pages without playing with codes. The page to be edited looked more or less like it was going to look on the web.
I’ve tried to find something like that Front on BlueFish and Gedit but failed. Is there a way to do this? If not, is there a program that allows you to edit without playing with html codes? Thank you!
I recommend a static website generator like Hugo. Then all you have to learn is Markdown, which is easy.
I am using Codelobster editor – http://www.codelobster.com