24 Best Open Source Linux Text Editors in 2023 (GUI + CLI)
Text editors can be used for writing code, editing text files such as configuration files, creating user instruction files, and many more.
In Linux operating systems, text editors are of two kinds that is graphical user interface (GUI) and command-line text editors (console or terminal).
In this article, I am examining the best open-source text editors commonly used 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 of the most popular and widely used text editors among System Administrators and Programmers which is why many users often refer to it as a programmer’s editor. It enables syntax highlighting when writing code or editing configuration files.
Install Vim in Linux
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 yum install vim [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/vim [On Gentoo Linux] $ sudo apk add vim [On Alpine Linux] $ sudo pacman -S vim [On Arch Linux] $ sudo zypper install vim [On OpenSUSE]
If you want to see our complete series on Vim editor, please refer to the links below:
2. Gedit
Gedit is a default text editor on the Gnome desktop environment, that is a general-purpose GUI-based text editor known for its simplicity, high extensibility, and powerful features.
Some of its notable features include:
- 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.
Install Gedit in Linux
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 yum install gedit [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/gedit [On Gentoo Linux] $ sudo apk add gedit [On Alpine Linux] $ sudo pacman -S gedit [On Arch Linux] $ sudo zypper install gedit [On OpenSUSE]
3. Nano Editor
Nano is an easy-to-use and user-friendly command-line text editor that offers essential text editing functions and keyboard shortcuts, making it a convenient choice for quick and efficient file editing tasks.
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.
Install Nano in Linux
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 yum install nano [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/nano [On Gentoo Linux] $ sudo apk add nano [On Alpine Linux] $ sudo pacman -S nano [On Arch Linux] $ sudo zypper install nano [On OpenSUSE]
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 extensions including mail and news, debugger interface, calendar, and many more.
Install Emacs in Linux
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 yum install emacs [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/emacs [On Gentoo Linux] $ sudo apk add emacs [On Alpine Linux] $ sudo pacman -S emacs [On Arch Linux] $ sudo zypper install emacs [On OpenSUSE]
5. Kate/Kwrite
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.
Additionally, it offers remote file editing, along with a wide range of features, including advanced text editing, application capabilities, programming support, text highlighting, backup functionality, and search and replace options
Install Kate on Linux
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 yum install kate [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/kate [On Gentoo Linux] $ sudo apk add kate [On Alpine Linux] $ sudo pacman -S kate [On Arch Linux] $ 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.
Install Sublime in Linux
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 yum install sublime-text [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/sublime-text [On Gentoo Linux] $ sudo apk add sublime-text [On Alpine Linux] $ sudo pacman -S sublime-text [On Arch Linux] $ 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, color syntax highlighting, a variety of programming modes, regular expressions, and more.
It is developed purposely for software development and one of its important features is the support of Unicode mode.
Install Jed in Linux
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 yum install jed [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/jed [On Gentoo Linux] $ sudo apk add jed [On Alpine Linux] $ sudo pacman -S jed [On Arch Linux] $ sudo zypper install jed [On OpenSUSE]
8. gVim Editor
gVim, short for “GNU Vim” is a powerful, highly configurable text editor popular among programmers and developers. It combines the capabilities of Vim with a graphical interface and offers similar functionalities like syntax highlighting, extensive plugin support, and a modal editing system, making it a versatile choice for text editing and coding tasks.
Install gVim in Linux
You can install the gVim editor in Linux systems using your default package manager as shown.
$ sudo apt install gvim [On Debian, Ubuntu and Mint] $ sudo yum install gvim [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/gvim [On Gentoo Linux] $ sudo apk add gvim [On Alpine Linux] $ sudo pacman -S gvim [On Arch Linux] $ 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.
Install Geany in Linux
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 yum install geany [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/geany [On Gentoo Linux] $ sudo apk add geany [On Alpine Linux] $ sudo pacman -S geany [On Arch Linux] $ sudo zypper install geany [On OpenSUSE]
10. Leafpad
Leafpad is a GTK+-based text editor that prioritizes simplicity by minimizing its weight and incorporating only essential features that offer a user-friendly, lightweight solution for efficient text editing tasks.
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.
Install Leafpad in Linux
You can install Leafpad editor in Linux systems using your default package manager or snap package manager as shown.
$ sudo snap install leafpad
11. Bluefish
Bluefish is a robust editor designed for programmers and web developers, and offers extensive capabilities for website development, scripting, and coding. With support for numerous programming and markup languages, it empowers developers to work efficiently and effectively on a wide range of projects.
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.
Install Bluefish on Linux
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 yum install bluefish [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/bluefish [On Gentoo Linux] $ sudo apk add bluefish [On Alpine Linux] $ sudo pacman -S bluefish [On Arch Linux] $ sudo zypper install bluefish [On OpenSUSE]
12. GNOME Text Editor
GNOME Text Editor, also known as Gedit, is a default text editor for the GNOME desktop environment that provides essential features for text editing, code writing, markup languages, and plugin support which make it a popular choice among Linux users.
Install GNOME Text Editor on Linux
You can install the GNOME editor in Linux systems using your default package manager as shown.
$ sudo apt install gnome-text-editor [On Debian, Ubuntu and Mint] $ sudo yum install gnome-text-editor [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/gnome-text-editor [On Gentoo Linux] $ sudo apk add gnome-text-editor [On Alpine Linux] $ sudo pacman -S gnome-text-editor [On Arch Linux] $ sudo zypper install gnome-text-editor [On OpenSUSE]
13. Visual Studio Code
Visual Studio Code, commonly referred to as VS Code is a robust, free, and open-source modern code 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.
- IntelliSense
- 100% customizability
- Support for tons of languages straight out of the box.
- Toggable layouts.
- Built-in terminal.
Install Visual Studio Code in Linux
You can install VS Code editor in Linux systems using your default package manager as shown.
$ sudo apt install code [On Debian, Ubuntu and Mint] $ sudo yum install code [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/code [On Gentoo Linux] $ sudo apk add code [On Alpine Linux] $ sudo pacman -S code [On Arch Linux] $ sudo zypper install code [On OpenSUSE]
14. Light Table
Light Table is a powerful, clutter-free cross-platform next-generation text editor built to be customizable enough to be used in any that its user chooses.
It boasts a robust plugin system, enabling extensive customization and extension of the editor’s functionality. With a diverse collection of 100+ plugins, the community enhances support for new languages, develops domain-specific IDEs, and delivers numerous other valuable features.
Light Table’s features include:
- Inline evaluation
- Real-time watches
- Free and open-source
- Plugin manager
- Powerful editing
15. 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.
Install Neovim in Linux
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 yum install neovim [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/neovim [On Gentoo Linux] $ sudo apk add neovim [On Alpine Linux] $ sudo pacman -S neovim [On Arch Linux] $ sudo zypper install neovim [On OpenSUSE]
16. Notepad++
Notepad++ is a customizable text editor built with a focus on speed and minimal program size for Windows platforms. It is developed based on the 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
Install Notepad++ in Linux
You can install the Notepad++ editor in Linux systems using the snap package manager as shown.
$ sudo snap install notepad-plus-plus
17. 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:
- Auto-indentation.
- Case manipulation.
- Piping each selection to an external filter.
- Hooks
- Syntax highlighting.
- Customization.
- Multiple selections.
Install Kakoune on Linux
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 yum install kakoune [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/kakoune [On Gentoo Linux] $ sudo apk add kakoune [On Alpine Linux] $ sudo pacman -S kakoune [On Arch Linux] $ sudo zypper install kakoune [On OpenSUSE]
18. 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
Install Micro in Linux
You can easily install a micro text editor in your Linux distribution by running the following installation script using the curl command as shown.
$ curl https://getmic.ro | bash
19. Brackets Text Editor
Brackets is a modern free and open-source code editor created by Adobe with a focus on web development. It is written in HTML, CSS, and JavaScript to offer web developers a rich code editing experience with the ability to extend its native features using several free extensions.
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
Install Brackets in Linux
You can install the Brackets editor in Linux systems using your default package manager as shown.
$ sudo apt install brackets [On Debian, Ubuntu and Mint] $ sudo yum install brackets [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/brackets [On Gentoo Linux] $ sudo apk add brackets [On Alpine Linux] $ sudo pacman -S brackets [On Arch Linux] $ sudo zypper install brackets [On OpenSUSE]
Alternatively, you can use the snap package manager to install Brackets in Linux.
$ sudo snap install brackets
20. Mousepad Text Editor
Mousepad is a lightweight and user-friendly text editor primarily designed for the Xfce desktop environment and offers essential features for basic text editing, making it suitable for quick tasks without overwhelming users.
Install Mousepad in Linux
You can install the Mousepad editor in Linux systems using your default package manager as shown.
$ sudo apt install mousepad [On Debian, Ubuntu and Mint] $ sudo yum install mousepad [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-apps/mousepad [On Gentoo Linux] $ sudo apk add mousepad [On Alpine Linux] $ sudo pacman -S mousepad [On Arch Linux] $ sudo zypper install mousepad [On OpenSUSE]
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 is 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.
23. CudaText
CudaText is a new clean open-source and cross-platform text editor that comes with tons of features which include:
- Syntax highlights 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.
24. 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.
Concluding
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.