Skip to content

Latest commit

 

History

History
158 lines (141 loc) · 8.82 KB

links.md

File metadata and controls

158 lines (141 loc) · 8.82 KB

Papers

Web pages and blog posts

Acme-related Git repositories

Scripts, resources, documentation:

Forks

Acme has many forks; below is a curated list of forks which implemented something useful or interesting.

  • 1g0rb0hm/plan9labs: implements tab expansion (seemingly an original implementation which is controlled by extensions to the Indent command: it looks like it's done properly) and a MacOS keyboard shortcut, Command-S to Put.
  • dexen/plan9port: implements several arguably useful changes: Ctrl-S to Putall, add Edit ,d to +Error windows, remove Look from the default window tag bar, and more.
  • eaburns/plan9port: implements CUA key bindings, changes the Acme colors, and tweaks the windowing growing behavior after a Del.
  • ixtenu/plan9port (my fork): has a custom black-and-gray color scheme, CUA key bindings, and spew's implementation1 of tab expansion (taken from mkhl's plan9port fork).
  • karahobny/acme2k: implements compile-time color themes with a suckless-style config.h and CUA-style keyboard shortcuts. Note that is not a full fork of plan9port; it only includes the files for Acme.
  • japanoise/acme2k: fork of the above, rebased on upstream plan9port and with a different color scheme.
  • karahobny/plan9port: implements CUA key bindings and cursor movement with the up/down keys.
  • lmumar/plan9port: implements CUA keybindings and cursor movement with up/down or Ctrl-n/p; also includes the acme2k color theme.
  • mk-f/plan9port: implements supports for specifying a custom color theme in argv (from mariusae), adds Edit to the default tag bar and disables multi-line tags, has spew's implementation of tab expansion (uniquely, also adds support for controlling tab expansion via 9p), and more.
  • mkhl/plan9port: this seems to have been the first fork to port spew's tab expansion implementation to plan9port acme. In addition to tab expansion, this fork implements macOS inertial scrolling, running an acme.rc script prior to external commands, specifying a font for the tag bar (rather than using the primary font), and more.
  • omar-polo/plan9port: has tab expansion (spew's implementation), implements CUA key bindings, and changes the default Tab value from 4 to 8.
  • prodhe/plan9port: implements a Tabexpand command (the underlying implementation is not as good as spew's or 1g0rb0hm's), Ctrl-a and Ctrl-e move to the previous/next line if already at the beginning/end of current line, Ctrl-p and Ctrl-n to move the cursor up/down a line, and Command-S to Put.
  • sminez/plan9port: implements CUA keybindings, a Tabexpand command (same as prodhe's), and changes the default font and color scheme.
  • TobiasHeinicke/plan9port: implements numerous interesting features: a Nav command, which causes directory windows to be reused when opening a new directory; a Dotfiles command, which toggles whether directory windows show dotfiles (they are hidden by default); a Clear command, a convenient alternative to Edit ,d; and more.

Related text editors

Text editors which reproduce (to varying degrees) the look-and-feel of Acme:

  • Edwood: Go port of and "drop-in replacement" for plan9port's Acme. Has experimental support for running without plan9port's infrastructure.
  • Wily: An Acme-inspired editor for Unix; created in the 1990s, long before plan9port existed. Newest release is from 2006.
  • jmigpin/editor: an Acme-inspired text editor written in Go. Retains the simple UX of Acme while implementing advanced features.
  • Anvil is an Acme-inspired editor written in Go, using Gio as the GUI toolkit. Supports quite a few features which Acme does not, such as syntax highlighting and editing remote files over SSH.
  • A: Text editor written in Go and inspired by Acme; "still in the alpha stage". Not to be confused with davidrjenni/A.

Text editors which are ancestral to Acme:

  • Sam: the text editor which Rob Pike wrote prior to Acme. Originally a Unix text editor (for the Blit windowing system), later ported to Plan 9 and included in plan9port. The Plan 9 version was ported back to Unix/X11: a standalone version of that code, updated and extended with new features not found in other versions of sam, is at deadpixi/sam (see also japanoise/sam, a fork with some bug fixes and minor enhancements).
  • qed: a Unix line editor. An enhanced version of ed which is programmable and supports editing multiple files. Ancestral to sam. The linked version has been updated to build on modern POSIX systems and to support UTF-8.

Other related text editors:

  • vis: a terminal text editor which combines vi's modal editing with the structural regular expressions used by Sam and Acme's Edit command.
  • sim: a terminal text editor "heavily inspired" by Vim and Sam.

Footnotes

  1. spew implemented tab expansion for the 9front version of Acme. This implementation adds a Spaces command to control whether tab expansion is enabled; it is modelled after the Indent command. Tab expansion can also be enabled at start up with -i. See 9front commit 4757debd0b.