aboutsummaryrefslogtreecommitdiffstats
README(7) Miscellaneous Information Manual README(7)

edline-oriented text editor

There are currently some minor noncompliant parts (namely default addresses for commands), but there is currently no regexes and no marks implemented. Basically all of the stuff that makes ed actually useful are totally missing. You can still try it out I guess though.

ed(1) is the standard UNIX text editor. While that is used a joke, ed is legitimately a useful editor in the modern day, particularly when:

  1. Making a quick edit in a file you're familiar with
  2. Working over slow connections (low-baud serial, SSH on a shaky hotspot, etc.)
  3. Programmatically editing files using the same commands you use to edit. Just make one edit manually, put those commands in a script, and run it on the rest of the files without having to convert the actions into a different scripting language like awk

This is a reimplementation that's more compliant with other ed implementations and the POSIX standard than GNU's implementation of ed, while still having some of GNU ed's convenience and extensions that are missing from those other ed implementations. It'll also be implemented more simply than GNU ed, and should have more clear and concise code (hopefully).

  • POSIX or POSIX-compatible sh(1), for the configure script.
  • Pure POSIX make(1). Most make's should support the POSIX standard.
  • C compiler supporting C11. C99 is also supported as long as and are supported as extensions.
  • VT100-compatible terminal, as linenoise(3) currently only supports VT100 termal sequences (only very basic escape sequences required). If you don't know if your terminal supports VT100 escape sequences, then it does.

./configure
make
sudo make install

The upstream URL of this project is ⟨https://git.nytpu.com/ed⟩. Send suggestions, bugs, and other contributions to <alex@nytpu.com>. For help sending a patch through email, see ⟨https://git-send-email.io⟩.

ed(1), ed(1p)

The documentation, build system, source code, and resulting ed binary all conform to IEEE Std 1003.1-2008 (“POSIX.1”) and ISO/IEC 9899:2011 (“ISO C11”) in all cases where the said standards are applicable.

ed is Copyright (C) 2021 nytpu <alex@nytpu.com>.

ed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You can find a copy of the GNU General Public license in LICENSE or at ⟨https://www.gnu.org/licenses/gpl-3.0-standalone.html⟩.

The build system (Makefile and configure) for ed is licensed under the terms of the MIT license. For more information, see configure and Makefile, or see ⟨https://opensource.org/licenses/MIT⟩. No other portions of ed are licensed under the MIT license.

ed uses linenoise(3), which is Copyright (c) 2010-2014, Salvatore Sanfilippo ⟨antirez at gmail dot com⟩ & Copyright (c) 2010-2013, Pieter Noordhuis ⟨pcnoordhuis at gmail dot com⟩ and is licensed under the terms of the BSD 2-Clause License. For more information, see LICENSE_LINENOISE or ⟨https://github.com/antirez/linenoise/⟩.

ed uses code snippets from FreeBSD's implementation of ed. That code is Copyright (c) 1992-2021 The FreeBSD Project and is licensed under the terms of the FreeBSD License. For more information, see LICENSE_FREEBSD or ⟨https://cgit.freebsd.org/src/tree/COPYRIGHT⟩.

June 4, 2021 nytpu.com