Awesome text editors for Linux unix macos command line CLI users
A text editor is an essential tool for both developers and sysadmin, especially when dealing with text based sessions. We use a text editor to create, edit, and update text. A text editor is used for many things. Some use them to write documents. Some people write code and others use it to edit Linux and Unix configuration files locally or remote servers running in the cloud. Let us see the top 6 text editors for Linux, macOS, and Unix command-line users/developers.

Top 6 awesome text editors for Linux, macOS and Unix CLI users

The curated list for text editors is in alphabetical order.

1. emacs – GNU Emacs is the extensible self-documenting text editor

GNU Emacs is an acronym for Macros Macros. One of the most common text editors on Linux and Unix-like systems. Developers and programmers primarily use it. Emacs’ key selling points are its powerful Emacs Lisp, a built-in programming language that lets the user extend the editor’s capabilities. Emacs fans are often involved in an Internet turf war with vim/vi fans.

GNU Emacs running on my Ubuntu desktop

2. kakoune – Modal editor inspired by vim, especially keystrokes

Kakoune is a modal text editor. Vim is a significant inspiration for Kakoune existence, and it tries to improve the text editing workflow and fit better to the Unix philosophy. From the project home page:

Kakoune is a code editor that implements Vi’s “keystrokes as a text editing language” model. As it’s also a modal editor, it is somewhat similar to the Vim editor. Kakoune can operate in two modes, normal and insertion. In insertion mode, keys are directly inserted into the current buffer. In normal mode, keys are used to manipulate the current selection and to enter insertion mode. Kakoune has a strong focus on interactivity, most commands provide immediate and incremental results, while still being competitive (as in keystroke count) with Vim.

Kakoune in action

3. micro – A simple and easy to use text editor

Micro is a terminal-based text editor that aims to be easy to use and intuitive while also taking advantage of modern terminals’ full capabilities. From the project page:

micro aims to be somewhat of a successor to the nano editor by being easy to install and use in a pinch, but micro also aims to be enjoyable to use full time, whether you work in the terminal because you prefer it (like me), or because you need to (over ssh).

Features are as follows:

  • Standard keybindings (Ctrl-s to save, Ctrl-z to undo, Ctrl-q to quit, etc.)
  • Syntax highlighting for over 140 programming languages supported
  • Full support for the mouse. It means you can click and drag to select the text, double click select by word, and triple-click to select by line
  • Multiple cursors
  • Configurable keybindings and settings (tab width, tabs vs. spaces, diff gutter, etc.)
  • Built-in terminal emulator
  • Splits and tabs
  • Automatic linting and commenting via Lua plugins
  • Plugin manager to download additional Lua plugins other users have made
  • Terminal emulator
  • And much more

micro text editor

4. nano – Nano’s ANOther text editor, inspired by Pico for new users/developers

GNU nano is a tiny text editor with a reputation for newbie-friendly. Nano was initially gain popularity due to Ubuntu and now default on many Linux distros. It mimics the look and feel of Pico text editor, although is free software, and implements several features that Pico lacks. For instance:

  • Opening multiple files
  • Scrolling per line
  • Undo/redo
  • Syntax coloring
  • Line numbering
  • Soft-wrapping overlong lines and much more.

GNU nano editing the /etc/resolv.conf on my Linux system

5. neovim – Vim fork focused on extensibility, usability, and backward comparability

Neovim is a fork of vim with additional features. The authors of Neovim wanted text editor features to improve Vim’s extensibility and maintainability. It is fully compatible with Vim’s editing model and the Vimscript language. With 30% less source-code than Vim, the vision of Neovim is to enable new applications without compromising Vim’s traditional roles. Since Neovim is a drop-in replacement for vim, the learning curve is easier for existing vim users. Feature includes:

  • Strong defaults
  • Modern terminal features such as cursor styling, focus events, bracketed paste
  • Built-in terminal emulator
  • The plugin API
  • LUA based scripting apart from Vimscript

6. vim – The most loved and memed text editor

Vim is an acronym for Vi IMproved. It is a clone, with an additional set of features to the original Bill Joy’s vi text editor for Unix. Vim’s author, Bram Moolenaar, based Vim on the source code for a port of the Stevie editor to the Amiga. At the time of its first release, the name “Vim” was an acronym for “Vi IMitation”, but this changed to “‘Vi IMproved” late in 1993.

Vim text editor running on Ubuntu

The rivalry between users of the Emacs and Vim/Vi/Neovim text editors is called the great “Editor war”. It is part of hacker culture and the free software community for many decades. The Emacs vs. vi debate was one of the original “holy wars” carried out on Usenet. Vim is often part of Humor, especially the cult of vi and unable to exit from vim. Often innocent text editors are dragged into Editor war:

Meme about editor war: Let us start a flame fest over a text editor

Summing up

I prefer vim as I started with vi on Unix. Many like to use a simple text editor such as nano or micro to edit files over ssh-based sessions. There is ed too, which is regularly advertised as the standard text editor for Unix. VIM/Neovim, Emacs, and kakoune also work as IDE with various tweaks and plugins. Here is a quick table summarizing text editors I talked about in this post:

Table 1
Name Creator Written in Cost License Opensource Install size on Ubuntu Linux macOS BSD Mostly used by
GNU/emacs Richard Stallman C, Emacs Lisp Free GPL 42.3 MB Developers and hackers
kakoune Maxime Coste C++ Free Unlicense 11MB Developers
micro Zachary Yedidia Go, Lua Free MIT 3MB New sysadmins and developers
nano Chris Allegretta C Free GPL 269 kB New sysadmins and programmers
neovim Thiago de Arruda Padilha C, Vimscript, Lua Free Apache and Vim 10.6MB Sysadmins and developers
vim Bram Moolenaar C, Vimscript Free Vim 2.2MB Sysadmins and developers

Did I miss your favorite CLI text editor? Let me know in the comment section below.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 10 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersncdu pydf
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
10 comments… add one
  • ed fan Dec 30, 2020 @ 20:59

    ed? Nobody is gonna talk about ed?

  • Park Dec 31, 2020 @ 1:28

    Not many users seem to know the existence of the mcedit, the internal editor of mc (Midnight Commander). When it comes to simple text editing for quick system maintenance (and occasional programming), there is nothing close enough to match it especially launched from the visual shell.

  • Paul Johnson Dec 31, 2020 @ 2:19

    You mistake saying Emacs is abbr for “macros macros”. Should say “Editor Macros”. The editors many seem to prefer now are Sublime, VS Code, PyCharm. I prefer Emacs. Have never heard of some in your list. Nobody intelligent uses nano for anything except as a pine replacement on text email systems. Well, novice Git users now.

  • Graham Dec 31, 2020 @ 3:33

    I have used joe for many years, and find it very convenient to use. If you forget how to do something, all the help is on screen at the touch of a couple of buttons.

  • Alex Dec 31, 2020 @ 11:07

    You placed Emacs first in the list, which is good, but claimed that vim is the most beloved. I am conflicted about this article :D

    • 🐧 Vivek Gite Dec 31, 2020 @ 11:45

      At top of the page: “The curated list for text editors is in alphabetical order.”

  • Zamri Jan 3, 2021 @ 4:53

    I like joe “Jonathan’s Own Editor”. Fortunately it is in ubuntu’s repo although it is not installed by default

  • premium photoshop actions Feb 1, 2021 @ 13:53

    all are good but i never tried even one of them .
    after reading i think i should try one of these.
    in window i think notepad ++ is great and cool/

    • A Jackson Feb 15, 2021 @ 1:29

      You should try Emacs, it run in pure text terminal mode or as GUI.
      It’s programmed in a real programming language, which is also itś extensions language. Emacs lisp.
      Its Main killing app is Org-mode, Dired with Tramp and Magic, IF you ever going to work with Git. But it also has a web browser, can show pictures in the text buffer, has support for almost any programming language. More then any other editor. Has some games and mail traders.
      It can even make you a cup of coffee, as it supports machines that support HTCPCP (but not HTCPCP-TEA).

      And yes, it is easy to make it work cross platform.

  • Jeffersonian Feb 10, 2021 @ 11:15

    gvim is a thin, useful GUI on top of vim.
    Written in GTK+, minimalist.
    I use it for a long time as a better vim.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum