Edith

A friendly text editor for the terminal.

Pull-down menus, dialogs and the mouse, like the classic MS-DOS EDIT – with split windows and tabs, syntax highlighting for more than 50 languages, code formatting and an optional, faithful Vim mode. One program, nothing to configure.

Features

Everything is in the menus – press F10 or Alt – and every menu entry shows its shortcut. F1 lists all keys.

Vim mode

Options > Vim Mode (F12, or edith --vim) turns on Vim's key bindings – and they behave like Vim, down to the edge cases.

  • Normal, Insert, Replace and all three Visual modes
  • operators, motions, text objects, counts and .
  • registers, macros, marks, the jump list
  • Vim's regular expressions, :s, :g, :sort, :normal, :map
  • windows and tabs with Ctrl-W, :split, :tabnew

The menus stay one Alt away.

Edith in Vim mode with a linewise Visual selection

Install

Ready-made packages for Linux on x86_64 and for macOS on Apple Silicon. The command is edith.

Arch · CachyOS · Manjaro

The package edith-editor:

$ curl -LO https://github.com/dlehmann/edith/releases/latest/download/edith-editor-x86_64.pkg.tar.zst
$ sudo pacman -U edith-editor-x86_64.pkg.tar.zst

Debian · Ubuntu · Mint

The package edith:

$ curl -LO https://github.com/dlehmann/edith/releases/latest/download/edith_amd64.deb
$ sudo apt install ./edith_amd64.deb

macOS · Apple Silicon

Not notarized by Apple: download it with curl, not with a browser.

$ curl -LO https://github.com/dlehmann/edith/releases/latest/download/edith-macos-arm64.tar.gz
$ tar -xzf edith-macos-arm64.tar.gz
$ sudo mkdir -p /usr/local/bin && sudo install -m755 edith-*-macos-arm64/edith /usr/local/bin/

Any Linux

The static binary runs on every distribution:

$ curl -LO https://github.com/dlehmann/edith/releases/download/v1.2.0/edith-1.2.0-linux-x86_64.tar.gz
$ tar -xzf edith-1.2.0-linux-x86_64.tar.gz
$ sudo install -m755 edith-1.2.0-linux-x86_64/edith /usr/local/bin/

Or the AppImage, without installing:

$ curl -LO https://github.com/dlehmann/edith/releases/download/v1.2.0/Edith-1.2.0-x86_64.AppImage
$ chmod +x Edith-1.2.0-x86_64.AppImage
$ ./Edith-1.2.0-x86_64.AppImage file.txt

From source

Needs a C++17 compiler, make, git and curl.

$ git clone https://github.com/dlehmann/edith.git && cd edith
$ tools/fetch-grammars.sh && make -j$(nproc)
$ make install

About

Edith runs in every terminal that speaks UTF-8 – xterm, GNOME Terminal, Konsole, kitty, Alacritty, WezTerm, foot, tmux, the Linux console – and with every shell.

One programAll grammars are compiled in. No plugins, no configuration needed.
Safe savingA file is replaced only after the new text was written completely. Encoding, line endings and permissions are kept.
FastIncremental parsing, only the visible lines are highlighted, only changed cells are redrawn.
Open sourceMIT License. Contributions are welcome – see CONTRIBUTING.md.

The user interface speaks seven languages:

  • English
  • Deutsch
  • Français
  • Español
  • Italiano
  • Magyar
  • Polski