Top 6 awesome text editors for Linux and Unix command-line users/developers

Awesome text editors for Linux unix macos command line CLI usersAwesome 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.

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.

Emacs command line text editors screenshots for developrsEmacs command line text editors screenshots for developrs

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 CLI text editors for linux macos Unix bsd usersKakoune CLI text editors for linux macos Unix bsd users

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 editors for Linuxmicro text editors for Linux

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 CLI text editor for new Linux usersGNU nano CLI text editor for new Linux users

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 LinuxVim text editor running on Linux

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:

vim emacs nano memevim emacs nano meme

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.

Posted by Contributor