A buffer in Directory mode presents a list of files, and allows you to easily edit any of them, copy or move some of them to another directory, or delete some of them. It also makes it easy to keep a record of which files you already edited.
You open a Directory mode buffer by invoking one of:
*
).The editor opens a buffer in Directory mode, listing all the matching files.
Note: If you are opening a directory path (without filename) and there is already a buffer opened with this directory, it finds this buffer, rather than creating another one. You can prevent this by first renaming the existing buffer. Opening a wild path with the Find File command always creates a new buffer.
A Directory mode buffer can be saved to a file, and because it contains the mode in its attribute line, when you re-open the file it will open in Directory mode. Thus it can be used as a record of what you have done. For example, if you need to visit all the files in some directory and the task will span multiple sessions, you can edit the directory and visit the files from the Directory mode buffer. You periodically save this buffer to a file. Then after quitting your session and restarting you can open the file and have a record of which files you already visited. For this kind of task, Directory mode is probably the simplest method.
The operations that you can do in Directory mode include:
The first 2 lines of a Directory mode buffer are the "header", including the attribute line. The following lines each represent one file. The line starts with spaces for optional marks, followed by the file size in bytes (decimal), followed by the name of the file.
Each of the optional marks in the beginning of a line is either Space for "off", or a specific character for "on" as shown in Meaning of "on" characters at start of lines in Directory mode
The remainder of this section contains details of the Directory mode commands.
In general the buffer in Directory mode is read-only, and can be modified only by the commands below. Commands that do not modify the text can be used as in other buffers. You should not edit the buffer in other ways, because the editor expects a specific structure of the buffer. Commands that just change the contents of the buffer without affecting the file system can be undone as usual. Commands that affect the file system clear the undo information, so it is not possible to undo these.
Arguments: None
Key sequence: Space
, N
, Ctrl+N
or Down
The command Directory Mode Next Line
moves to the next line in the buffer, with the point on the filename.
Arguments: None
Key sequence: P
, Ctrl+P
or Up
The command Directory Mode Previous Line
moves to the previous line in the buffer, with the point on the filename.
Arguments: None
Key sequence: Enter
, F
or E
The command Directory Mode Edit File
edits the file on the current line, and also automatically marks it as edited. The file is opened in the same window.
Directory Mode Edit File In Other Window
Arguments: None
Key sequence: O
The command Directory Mode Edit File In Other Window
edits the file on the current line, and also automatically marks it as edited. The file is opened in another window.
Note:
a convenient setup for visiting files is to use Split Window Horizontally (Ctrl+X 5
) to display the Directory mode buffer, and then editing a file by O
appears in the other editor window inside the same interface.
Arguments: None
Key sequence: M
The command Directory Mode Mark
switches on the mark (the second character) on the current line.
Marks are used by other commands, but do not have any effect otherwise.
After marking the cursor moves to the next line.
With a prefix argument argument it does as many lines as specified by the prefix, while a negative prefix causes lines above the current line to be marked.
Arguments: None
Key sequence: U
The command Directory Mode Unmark
switches off the mark (the second character) on the current line.
Marks are used by other commands, but do not have any effect otherwise.
After unmarking the cursor moves to the next line.
With a prefix argument argument it does as many lines as specified by the prefix, while a negative prefix causes lines above the current one to be unmarked.
Directory Mode Unmark Backward
Arguments: None
Key sequence: Backspace
The command Directory Mode Unmark Backward
moves to the previous line and switches off the mark. This is equivalent to Directory Mode Unmark with the prefix argument negated (or supplied as -1).
Arguments: None
Key sequence: None
The command Directory Mode Unflag Edited
switches off the edited flag (+
in the first character) on the current line.
Arguments: None
Key sequence: None
The command Directory Mode Flag Edited
switches on the edited flag (+
in the first character) on the current line.
Arguments: None
Key sequence: -
The command Directory Mode Toggle Edited
changes the state of the edited flag (+
in the first character) on the current line. The edited flag is merely recorded in the buffer, not stored anywhere else.
Since the flag is switched on automatically when you edit a file from the Directory mode buffer, you normally do not need to change it, but sometimes you may find it useful.
Directory Mode Mark Regexp Matches
Directory Mode Unmark Regexp Matches
Arguments: None
Key sequence: None
The commands Directory Mode Mark Matches
, Directory Mode Unmark Matches
, Directory Mode Mark Regexp Matches
and Directory Mode Unmark Regexp Matches
mark or unmark the matching filenames. With a prefix argument, these commands mark the non-matching filenames. These commands first prompt for a string or regexp to match, and then mark or unmark all the matches (non-matches with prefix argument).
See also: Directory Mode Mark All
Arguments: None
Key sequence: None
The command Directory Mode Mark All
marks all filenames. With a prefix argument, this command unmarks all filenames.
See also: Directory Mode Mark Matches
Directory Mode Mark When Edited
Directory Mode Unmark When Edited
Arguments: None
Key sequence: None
The commands Directory Mode Mark When Edited
and Directory Mode Unmark When Edited
mark and unmark all edited filenames. With a prefix argument, these commands operate on all unedited filenames.
See also: Directory Mode Mark All
Arguments: None
Key sequence: D
The command Directory Mode Flag Delete
switches on the Delete flag (D
in the second character) on the current line.
The Delete flag is used by the command Directory Mode Delete, otherwise nothing uses it.
After marking the cursor moves to the next line.
With a prefix argument it does as many lines as specified by the prefix. A negative prefix argument causes lines above the current one to be marked for deletion.
Directory Mode Flag Delete When Marked
Arguments: None
Key sequence: None
The command Directory Mode Flag Delete When Marked
flags for deletion all the marked filenames. With a prefix argument, it flags all the unmarked filenames.
Arguments: None
Key sequence: Ctrl+K
The command Directory Mode Kill Line
kills the current line. This is like the ordinary Kill Line command, except that it always removes complete lines (rather than from the point), and it gives an editor error if you try to delete part of the header.
Arguments: None
Key sequence: Ctrl+_
or Ctrl+X U
The command Force Undo
is the same as Undo, but works for a read-only buffer too.
Arguments: None
Key sequence: X
The command Directory Mode Delete
deletes the files that are marked for deleting (D
in second character).
It first confirms that you really want to delete the files, and then deletes them.
It also deletes the corresponding lines and clears the undo information in the Directory mode buffer.
Note: Like anything that deletes files, you need to be careful when using this command.
Note: When deleting many files, it is convenient to first create a buffer with only the marked files using Directory Mode New Buffer With Flagged Delete. That makes it easy to see which files you are going to delete.
See also: Directory Mode Flag Delete
Arguments: None
Key sequence: C
The command Directory Mode Copy Marked
copies the marked files to another directory. First it prompts for a directory, and then copies the marked files to that directory.
This command clears the undo information in the Directory mode buffer.
Note:
When copying many files, it is convenient to first create a buffer with only the marked files using Directory Mode New Buffer With Marked (keystroke T
)..That makes it easy to see which files you are going to copy.
Arguments: None
Key sequence: Y
The command Directory Mode Move Marked
moves the marked files to another directory. First it prompts for a directory, and then moves the marked files to that directory.
This command also removes the corresponding lines and clears the undo information in the Directory mode buffer.
Note:
When moving many files, it is convenient to first create a buffer with only the marked files using Directory Mode New Buffer With Marked (keystroke T
). That makes it easy to see which files you are going to move.
Arguments: None
Key sequence: R
The command Directory Mode Rename
renames the file on the current line.
This prompts for a new name for the file, and then renames the file. It then changes the line to contain the new name.
This command clears the undo information in the Directory mode buffer.
Directory Mode New Buffer With Marked
Arguments: None
Key sequence: T
The command Directory Mode New Buffer With Marked
creates a new buffer in Directory mode, containing only the marked lines (that is, those with *
). With a prefix argument, it creates a buffer with only the unmarked lines.
This command does not affect the current buffer.
Note: This is especially useful before doing a batch operation (delete, copy or move) to first check that you are operating on the correct set of files.
Directory Mode New Buffer With Edited
Arguments: None
Key sequence: Ctrl+T
The command Directory Mode New Buffer With Edited
creates a new buffer in Directory mode, containing only the edited lines (that is, those with +
).
With a prefix argument, it creates a buffer with only the un-edited lines.
This command does not affect the current buffer.
Directory Mode New Buffer With Flagged Delete
Arguments: None
Key sequence: Meta+T
The command Directory Mode New Buffer With Flagged Delete
creates a new buffer in Directory mode, containing only the "delete" lines (that is, those with D
).
With a prefix argument, it creates a buffer with only the lines that are not flagged for deletion.
This command does not affect the current buffer.
Directory Mode New Buffer With Matches
Arguments: None
Key sequence: S
The command Directory Mode New Buffer With Matches
prompts for a string, and then creates a buffer containing only the lines that match this string. With a prefix argument it creates a buffer with only the non-matching lines.
This command does not affect the current buffer.
Directory Mode New Buffer With Regexp Matches
Arguments: None
Key sequence: Meta+S
The command Directory Mode New Buffer With Regexp Matches
prompts for a regular expression, and then creates a buffer containing only the lines that match this regular expression. With a prefix argument it creates a buffer with only the non-matching lines.
LispWorks Editor User Guide (Macintosh version) - 17 Aug 2017