Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Orc/levee
A tiny, fast, and someone erratic vi clone
https://github.com/Orc/levee
Last synced: 5 days ago
JSON representation
A tiny, fast, and someone erratic vi clone
- Host: GitHub
- URL: https://github.com/Orc/levee
- Owner: Orc
- License: other
- Created: 2010-03-12T08:17:30.000Z (over 14 years ago)
- Default Branch: main
- Last Pushed: 2022-11-15T21:28:44.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T12:23:11.785Z (3 months ago)
- Language: C
- Homepage: http://www.pell.portland.or.us/~orc/Code/levee
- Size: 347 KB
- Stars: 55
- Watchers: 5
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
- awesome-starred - Orc/levee - A tiny, fast, and someone erratic vi clone (others)
README
My tiny (~54k on osx/x86_64; smaller on 32 bit machines) & ancient
(first written sometime in 1979 (in USCD pascal; I converted it to C
sometime in the early 1980s)) almost-vi-clone.I think it implements about 95% of visual mode; I still use it on
most of my machines and only notice things lacking in exec mode
(I don't implement :g and :v) and when displaying long lines (standard
vi wraps, I -- following the lead of the USCD pascal editor -- truncate.)Over its life it's been built on
* USCD pascal (in Pascal, then in p2; those sources may no longer exist
because 8" floppies were expensive and I didn't do version control
because they were tiny)
* TOS on the Atari ST
* MS-DOS
* Flexos
* iRMX
* OS/2
* Linux (the first version to make it into SCCS, in 1993, after 13 or
14 years of use, porting, and development)
* FreeBSD
* NetBSD
* Macosx
* Windows 10And it's currently (version 4) being built on Unixes (osx,*bsd,Linux),
Windows 10, and OS/2 v4 (both windows 10 & OS/2 are using their
respective console ANSI emulation, both of which have issues.)The configuration options are
* --use-termcap; link with termcap instead of curses, if at all possible.
* --partial-install; don't install the lv, lv(1) name links.
* --size=NNN; use an NNN-byte editor buffer (this is the maximum sized
file that can be edited without truncation.
* --stdio; use stdio for buffered i/o whenever practical
* --logging; write copious logs to levee.log (in the startup directory)
* --tputs; write control strings using the pacing functions in termcap
* --noglob; don't use the system glob() function to expand wildcards
* --ucsd; enable reading ucsd pascal .text files (via the -p option)
* --dos; build for ms-dos
* --tos; build for TOS
* --rmx; build for iRMX
* --flexos; build for flexOS
* --win10; build for Windows (only tested on Windows 10)
* --prefix; root of where to install things (defaults to /usr/local)
* --execdir; where to install binaries ($prefix/bin)
* --mandir; where to install the manpages ($prefix/man or $prefix/share/man)