This video provides a comprehensive tour of the Acme editor, created by Rob Pike for Plan 9 and now available across various Unix-like systems and Windows. The presenter highlights Acme's philosophy of integrating seamlessly with the surrounding operating system, treating all text as dynamic and executable. The user interface is graphical and highly mouse-centric, featuring automatic window layouts in columns, distinct tag and body sections within each window, and a unique, powerful scrollbar. Key mouse interactions are demonstrated, including specific functions for each of the three mouse buttons (selecting, executing, loading) and chorded actions for common tasks like cut, copy, and paste. The video showcases how any text can be executed as a command, supporting both internal functions and external programs, with output managed in new windows. It also covers Acme's rich file address syntax, which enables hyperlinking within text and dynamic loading of files, directories, or even synthesized content like man pages or web pages, facilitated by the customizable "plumber" program. Finally, Acme is presented as an "integrating development environment" (IDE), emphasizing its extensibility through user-written scripts and programs in any language, designed to enhance existing system tools rather than reinvent them.
echo with "button" as the argument, displaying "button" in a new error window.ed or sed) can apply editing language commands to the window body.date executes the system's date program and puts its output into a temporary +Errors window.+Errors window title reflects this.| (pipe) sends the selected text as input to the command and replaces the selection with the command's output.rot13 encrypts/decrypts it.> (greater than arrow) sends the selected text to the command but does not read output back into the selection.>spell to check spelling shows results in the +Errors window.< (less than arrow) reads the command's output into the selection, running the command with no input.<astro runs the astro program, which outputs astronomical information.a+, a-) in the tag for indenting/unindenting code.file.go:3: Opens file.go and moves to line 3.file.go:3:+8: Opens file.go, moves to line 3, then moves forward 8 Unicode characters.file.go:3:9: A shorthand in local Acme settings for line 3, column 9.file.go:/func/: Opens file.go and searches for the regular expression func at the beginning of a line./usr/src/go/pkg/encoding/json/stream_test.go: Example of a specific file path.grep often generate addresses in the file:line format.sysfile.c can open that file./mnt/plumb/rules) that contains patterns..pdf and names an existing file, it's passed to the Plan 9 page program (a PDF viewer).http://), it's handed to the web browser./mnt/acme/ (or the equivalent mount point).index file lists all windows and their tags.cat (read) the tag and body files of a window.echo (write) directly to the body file of a window from the shell.slide+ script (written in shell) advances slides for presentations, showing how it uses control messages to update window tags and reload content.adict program (a dictionary client for Acme) shows how Button 3's "load" functionality can be redefined within a specific window to perform dictionary lookups.win program (a terminal window) creates a new shell session linked to an Acme window, allowing command-line editing within the Acme environment, with history and live output updates.acme[<a href="https://youtube.com/watch?v=dP1xVpMPn8M&t=1">1</a>] brings up Acme's man page).watch go test -short to continuously run the test suite while making changes.import "net").