The Acme Readme

Note: This readme is meant to be open within acme but it is included here for reference, in a Plan 9 distribution you will usually find it at /usr/glenda/readme.acme and is usually displayed automatically when a fresh Plan 9 installation is booted, Acme-sac includes also a similar readme that also explains how to use some of its extra functionality and applications.


Welcome to acme, the editor/shell/window system hybrid. Acme is a complete environment you can use to edit, run programs, browse the file system, etc.

You can scroll the text this window by moving the mouse into the window (no clicking necessary) and typing the up and down arrows.

When you start Acme, you see several windows layered into two columns. Above each window, you can see a “tag line” (in blue). The first thing to notice is that all the text you see is just that: text. You can edit anything at will.

For example, in the left column is a directory window. If you look at the window’s tag line, you will see that it contains

/usr/glenda/ Del Snarf Get | Look 

(This might be truncated if the column is narrow.) That is just text.

Each mouse button (1, 2, 3, from left to right) does a different thing in Acme:

You can double-click with button 1 to select words; a double click at the end or beginning of a line selects the whole line. Once you have text selected, you can click on it with button 2 to execute the selected text. A single click of button 2 would execute the word clicked as a command.

Now let’s pay attention to the tag line once more. As you can see, the left part has a path. That is the name for the window and shows also the directory for the thing shown (file/directory/program output). When you execute something using button 2, the current directory for the command is the directory shown in the left part of the tag (if the thing shown is a file, its directory is used).

As you saw before in the example, there are windows labeled "/dir/+Errors", that is where Acme shows the output of a command executed in "/dir".

Another thing you can see is that tag lines contain words like “New”, “Del”, “Snarf”, etc. Those are commands understood (implemented) by Acme. When you request execution of one of them, Acme does the job. For example, click with button 2 on “Del” in the "/usr/glenda/+Errors" window: it’s gone.

The commands shown by Acme are just text and by no means special. Try to type “Del” within the body of the window "/usr/glenda", and then click (button-2) on it.

These are some commands understood by Acme:

Acme likes to place new windows itself. If you prefer to change the layout of a window, you only need to drag the layout box at the left of the tag line and drop it somewhere else. The point where you drop it selects the column where the window is to be placed now, as well as the line where the window should start. You can also click the layout box to enlarge its window a small amount (button 1), as much as possible without obscuring other tag lines in the column (button 2), and to fill the whole column (button 3). You can get your other windows back by button-1- or button-2-clicking the layout box.

This is mostly what you need to get started with Acme. You are missing a very useful feature: using combinations (chords) of mouse buttons to do things. You can cut, paste, snarf, and pass arguments to programs using these mouse chords. You can read this in the acme(1) manual page, but it’s actually extremely simple: Select a region with button 1 but don’t release the button. Now clicking button 2 deletes the selected text (putting it into the snarf buffer); clicking button 3 replaces the selected text with the snarf buffer. That’s it!

For more information, read /sys/doc/acme/acme.ps (you can just button-3 click on that string to view the file).