> just run the command in the context of some > arbitrary window. Wily does this. The 2-1 chord uses the context of the object applied to the command, rather than the command.
This makes commands like New useful from the top of a column. When you type in a new file name in its directory, highlight the name, apply it with 2-1 to New atop the column, then a new file is created in the directory where you selected the new filename, not the directory from which you started acme. This also makes centralized guide files more useful: you can write a command once for very many directories. When you select a file in a directory window, and apply it to the single, centralized guide file in a different directory, the command runs in the selected file's window rather than the guide's. After switching to acme, I've say that if you can write a guide file into the directory you're working with, you end up with smaller guide files, which usually works faster. However, with directories you can't write to, you have to store the guide somewhere else, which means you have to copy the command into the context you work with to apply it to a selection in that directory's window. With commands that apply across a directory tree (eg version control), this can result in some duplication, which means if you change an idiom you might end up updating all its guides (or inadvertently use the old idiom). Edit can apply a sam command (which selects its range) to the entire file. Run can apply a shell command to a directory, or directory context of a file. But in each case, you can't select a range of text or a file name within the window to use as the target of the operation, since you're using the select-appy operation to figure out which command to do. For example, I often run "|fmt -w 72" to justify a paragraph in a text file. With wily, I can highlight text in any window, and justify the text from one copy of the command stored in any guide file. With acme, I can't apply this command to highlighted text until I copy the command to the particular window (tag or body) that needs it. I can't even use it from a guide file in the current directory: if I sweep some text in a window, then apply that text to a pipe command in a guide file in the current directory, the pipe command runs against its own line in the guide file. So from the standpoint of having used Wily for years, acme requires more cutting and pasting, and some commands don't seem directly useful in place. For example, to use New without copying it somewhere else or retyping it, you must know and type (or get on the screen in some way) the path between the directory where you started acme and the directory where you want the file. Jason Catena
