release winning entries of IOCCC28 under the year 2024
Congratulations to: * 2024/anders - Prize in sound coding - layered music generator * 2024/burton - Prize in pentagrammatology - wordle hard mode solver * 2024/cable1 - Prize in bot talk - LLM inference engine * 2024/cable2 - Prize in murky waters - salmon recipe * 2024/carlini - Prize in perfect timing - Intel 4004 emulation * 2024/codemeow - Prize in tray planting - bonsai generator * 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP * 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation * 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil * 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator * 2024/howe - Nice accent eh-ward - mini vi * 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator * 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon * 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal * 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom * 2024/kurdyukov4 - Prize in embiggening - encode without literals * 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter * 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter * 2024/stedolan - Best one liner - icon from MD5 * 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux * 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation * 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor * 2024/weaver - Sur prize - rickroll Ran `make update` to perform the above. new file: 2024/burton/.entry.json
This commit is contained in:
1 parent
10512e6c79
commit
09750f8899
443 files changed
+182938
-231
No files matched your search
@@ -0,0 +1,91 @@
|
||||
# eh(1)
|
||||
|
||||
|
||||
## NAME
|
||||
|
||||
eh - Edit Here - vi(1) the good parts version
|
||||
|
||||
|
||||
## SYNOPSIS
|
||||
|
||||
eh filename
|
||||
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
A minimalist version of `vi(1)`. It is an example of the "Buffer Gap" method outlined in the [The Craft Of Text Editing](http://www.finseth.com/craft/) used by many Emacs style editors. (Yep I mixed `vi` and `emacs` in the same paragraph; I'm going to hell for that one.)
|
||||
|
||||
Create or read a text file to edit. Text files consists of lines of printable UTF-8 text, tabs, or newline characters. A physical line can be of arbitrary length and is delimited by either a newline or the end of file. Tab stops are every eight columns. The behaviour of non-printable characters may vary depending on the implementation of the Curses library, `stty(1)` settings, or terminal emulator.
|
||||
|
||||
|
||||
## COMMANDS
|
||||
|
||||
The commands are similar, but not the same as `vi(1)`. Most commands can be prefixed by a repeat count, eg. `5w`, `123G`, `2dw` (`d2w`), or `2d3w` (`d6w`). Motion commands, optionally prefixed by a count, are those that move the cursor without modifying the buffer. Some edit commands can be followed by a motion.
|
||||
|
||||
h j k l Left, down, up, right cursor movement.
|
||||
H J K L Page top, page down, page up, page bottom.
|
||||
b w Word left, word right.
|
||||
| Goto column (count) of physical line.
|
||||
/ERE Find first occurrence of ERE pattern after the cursor.
|
||||
n Find next occurrence of ERE.
|
||||
G Goto line (count) number; **1G** top of file, **G** bottom.
|
||||
\ Toggle text selection.
|
||||
d motion Delete text selection or region given by motion.
|
||||
y motion Yank (copy) text selection or region given by motion.
|
||||
P Paste last deleted or yanked text region before the cursor.
|
||||
i Insert text mode before the cursor, **ESC** or **CTRL+C** ends insert.
|
||||
u Toggle undo of last edit.
|
||||
x Delete character after the cursor, i.e., **dl**
|
||||
W Write buffer to file.
|
||||
Q Quit.
|
||||
CTRL+C Quit.
|
||||
|
||||
Any other key will redraw the screen.
|
||||
|
||||
|
||||
## ENVIRONMENT
|
||||
|
||||
* `TERM` : The user's terminal type. If the environmental variable `TERM` is not set or insufficient then terminate with non-zero exit status.
|
||||
|
||||
* `TERMINFO` : The absolute file path of a `terminfo` database. See `terminfo(5)`.
|
||||
|
||||
|
||||
## EXIT STATUS
|
||||
|
||||
- 0 Success
|
||||
- 1 Insufficient capabilities for `TERM`.
|
||||
- 2 Read file error
|
||||
|
||||
|
||||
## SEE ALSO
|
||||
|
||||
`ed(1)`, `ex(1)`, `vi(1)`
|
||||
|
||||
|
||||
## NOTES
|
||||
|
||||
* Has UTF-8 support.
|
||||
|
||||
- Loads UTF-8 files as-is and internally remains UTF-8 (not converteed to `wchar_t`).
|
||||
- UTF-8 input will likely require an intl. keyboard or enabling [US Intl. dead-key keyboard](https://en.wikipedia.org/wiki/QWERTY#US-International) support. See also [Unicode Input](https://en.wikipedia.org/wiki/Unicode_input).
|
||||
|
||||
* The display of long physical lines that are larger than the terminal screen is untested, so considered undefined.
|
||||
|
||||
* CRLF newlines (DOS, Windows) and other non-spacing control characters are not visible. Consider converting newlines using SUS tools like `awk(1)` or `sed(1)`:
|
||||
|
||||
$ sed -e's/^V^M$//' dos.txt > unix.txt
|
||||
$ sed -e's/$/^V^M/' unix.txt > dos.txt
|
||||
|
||||
`^V` is the default `stty(1)` insert literal prefix key.
|
||||
|
||||
|
||||
## REFERENCES
|
||||
|
||||
* Craig A. Finseth, "Craft Of Text Editing", 1999
|
||||
<http://www.finseth.com/craft/>
|
||||
|
||||
* Single Unix Specification, Curses issue 7
|
||||
<https://pubs.opengroup.org/onlinepubs/9699909599/toc.pdf>
|
||||
|
||||
* Single Unix Specification, Base Specification 2018, vi(1)
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html>
|
||||
Reference in new issue
Block a user