aboutsummaryrefslogtreecommitdiff

neo-ed

neo-ed is the new standard editor.

What?

If you feel like you are lacking some context, this might help.

Elevator Pitch

  • What if your editor was a command line shell?
  • What if it had a simple but powerful language to manipulate both small and huge amounts of text?
  • What if it integrated seamlessly with most OS commands?
  • What if your editor was scriptable?

This is ed.

  • What if ed was a lot more "user friendly"?
  • What if ed had modern features like syntax highlighting, line editing, command history, ... ?
  • What if ed was easily extensible through Lua plugins and scripting?

With neo-ed, the author firmly believes she has created one of the most powerful and flexible tools for working with any kind of line based data. She also thinks it makes for a pretty decent general purpose text editor =)

Building and Installing

For installation, the neo-ed source tree is bundled into a single executable script called ned. It is created by the build.sh script. It has no special dependencies, but can use git to derive a version number.

The bundle of the current main branch can be downloaded here.

Execution Requirements

Mandatory:

  • Lua 5.4
  • Lua posix library

Recommended:

  • Lua lrexlib-posix library for POSIX BRE matching (neo-ed can fall back to Lua patterns, which use a completely different syntax)
  • bat and/or pygments for syntax highlighting
  • editorconfig to configure neo-ed settings per file
  • fzf to replace the barebones built-in picker

Optional:

  • less for pagination of large text sections (e.g. diffs)
  • iconv for working with non-UTF-8 files
  • wl-clipboard or xclip for clipboard integration

Usage

neo-ed is mostly POSIX.1-2017 compatible. "Actually using ed" by Tom Ryder is a great introduction.

neo-ed has an internal help page system. The pages from the current main branch can be browsed online here.

neo-ed has a manager for external plugins. Its usage is documented in /doc/plugin_manager.md.