23 Best Open Source Text Editors (GUI + CLI) in 2021

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:

Vi/Vim Linux Editor
Vi/Vim Linux Editor

2. Gedit

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
Gedit Editor
Gedit Editor

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
Nano Editor
Nano Editor

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
Emacs Editor
Emacs Editor

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]

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

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.

Kate Editor
Kate Editor

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.

Sublime Text Editor for Linux
Sublime Text Editor for 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 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.

Jed Editor
Jed Editor

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.

Gvim Editor
Gvim Editor

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
Geany Editor
Geany Editor

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
Leafpad Editor
Leafpad Editor

You can install Leaf Pad editor in Linux systems using snap package manager as shown.

$ sudo snap install leafpad

11. Bluefish

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
Bluefish Editor
Bluefish Editor

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]

12. Atom

Atom is a free and open-source cross-platform code editor developed by GitHub. It was built to be completely customizable using web technologies such as HTML and JavaScript and it has support for Node.js-based plugins and native Git control.

Atom’s feature highlights include:

  • 100% open source
  • Modern, customizable layout
  • Themes
  • Embedded Git support
  • Real-time collaboration with Telesync
  • Smart auto-complete and IntelliSense
  • Built-in package manager
Atom Text Editor
Atom Text Editor

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

13. VSCode

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
  • IntelliSense
  • 100% customizability
  • Support for tons of languages straight out of the box
  • Toggable layouts
  • Built-in terminal
Visual Studio Code
Visual Studio Code

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
Light Table Code Editor
Light Table Code Editor

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
Media Text Editor
Media Text Editor

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
Neovim - Vim-based Text Editor
Neovim – Vim-based Text Editor

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]

17. 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 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
Notepad++ Source Code Editor
Notepad++ Source Code Editor

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:

  • Auto-indentation
  • Case manipulation
  • Piping each selection to an external filter
  • Hooks
  • Syntax highlighting
  • Customization
  • Multiple selections
Kakoune Code Editor
Kakoune Code Editor

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
Micro Terminal Text Editor
Micro Terminal Text Editor

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 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
Brackets Text Editor
Brackets Text Editor

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.

Lite Text Editor
Lite Text Editor

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.

Ash - Modern Terminal Text Editor
Ash – Modern Terminal Text Editor

23. CudaText

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.
CudaText - cross-platform text editor
CudaText – cross-platform text editor
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.

If you read this far, tweet to the author to show them you care. Tweet a thanks
Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

54 thoughts on “23 Best Open Source Text Editors (GUI + CLI) in 2021”

  1. LightTable which used to be my favourite has not been updated for years. Should defunct software be included without a warning?

    Reply
  2. vim and neovim are in champion league, specially now that they support V.Studio extensions thanks to CoC (Completion of code), Visual Studio follows them (Without CoC V.Sutdio could even be considered better in many circumstances).

    All the others play in “minor-leagues”.

    Reply
    • Loved nedit, but cannot use it on my HiDPI screen anymore. It had (column) block select, copy and paste, not sure if any of these modern editors have that.

      Reply

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.