23 Best Open Source Text Editors for Linux in 2024

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 the 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.

Vi/Vim Linux Editor
Vi/Vim Linux Editor

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.
gedit Text Editor
gedit Text Editor

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

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

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

Kate Text Editor
Kate Text Editor

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.

Sublime Text Editor for Linux
Sublime Text Editor for Linux

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.

Jed Editor
Jed Editor

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.

Gvim Editor
Gvim Editor

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

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

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

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.

GNOME Text Editor
GNOME Text Editor

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.
Visual Studio Code
Visual Studio Code

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. 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

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]    

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

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

16. 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

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] 

17. 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

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

18. 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

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

19. 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.

Mousepad Text Editor
Mousepad Text Editor

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] 

20. 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

21. 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.

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

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

23. 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
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.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

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.

55 Comments

Leave a Reply
    • @Amgadelsaiegh,

      Indeed, the Light Table project has been archived since 2022. While it’s unfortunate to see it no longer actively developed, there are still many other open-source text editors for Linux that continue to grow.

      Reply
  1. 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!

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

    Reply
  3. 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
  4. I use notepad++ in the Windows world (work) and really like it there. I’ve run it under Wine in Linux, but almost unusable on a 4K monitor. I’ll try the ‘snap‘ version and see if there is an improvement. Thanks for that hint.

    Linux (home, Windows free for years). Currently, I use nano for console work. Most of my projects run headless, and I find nano is just a bit easier to use than vi(m) when in ssh sessions. I currently use geany when working on a GUI, but it isn’t quite as ‘comfortable’ (feel at home with) to use as notepad++ but it does get the job done.

    Thanks for the article.

    Reply
  5. If any of these editors are the “best” in the opinion of the author, he should have named the features that make them stand out from the not-so-good editors. As it is, this only a list of 23 random open-source text editors.

    BEST” usually indicates some kind of superiority. Saying “Best 23 editors” is as meaningful as saying “Best 23 computer languages” or “Best 23 cars”, IOW, not very.

    Reply
  6. TEA is a very lightweight and highly usable text editor – I use it for all my writing projects; supports Tamil too (UTF-8)

    Reply
  7. Thanks for this it helped a lot.

    How about a post on the best command line only editors and the plugin/extensions to get the best experience?

    Reply
  8. Wily are a Unix/Linux version of Plan 9 editor Acme. And like vi is based on ed, Acme (and Wily) are based on a line editor Sam commands. Fully UTF-8 based and a small memory footprint.

    A handful built in commands and buffers arranged in columns, and columns in rows. And with mouse chords, you can expand with pushing text through Linux filters/shell scripts and inspired by Oberon.

    https://en.wikipedia.org/wiki/Wily
    https://en.wikipedia.org/wiki/Acme_(text_editor)
    https://en.wikipedia.org/wiki/Oberon_(operating_system)

    Reply
  9. Please consider adding these editors as well : Atom, Brackets, LightTable and Visual Studio Code. All are free and open source. I particularly like VS Code.

    Reply
  10. I’ve been favouring the Qt based Eric for the last few months though it’s primarily focused on python there is alot of languages it handles well. You also missed the big new open source editor of the year atom

    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.