The .spyrc File
A .spyrc file in your home directory allows you to customize spy with a list of key-mappings. Each entry assigns a commonly used command to a single keystroke. For example, the default .spyrc file assigns hview to the 1 key, and launch Houdini is assigned to the 2 key.
.spyrc file with a text editor ( vi or jot) to add
your own commonly used commands. Do this with the map command. For
map 9 unix jot % Open selected file with jot when you type the
map 8 jump =$HFS Jump to directory held by variable
map > jump :? Show jump history.
map ? unix_cmd :? Show
unix command history.
Be sure to map only those keys which spy does not already use, or you will have trouble executing certain spy commands.
Use Ctrl R to reload the .spyrc file after you have saved your changes.
Keywords (i.e. jump, unix_cmd) must be in lowercase, and must have a space after them in order to function.
Including the command:
in your .spyrc file stops the Press Enter to Continue messages from appearing. It also lets the spy “Continue:” prompt accept any spy command immediately after the previous command finishes without having to type Enter first.
There is a .spyrc command to determine the behavior of directory searches performed with the / key. By including the command:
relaxsearchin your .spyrc file, spy will find patterns in the middle of filenames as well as at the beginning of the filenames. For example, if you search for “12” and the directory contains:
123.rc flame123.pic flame212.pic
then each of these files would be found in turn.
Without relaxsearch, you would have to search for “*12” to get the same behavior.
If you set the relaxsearch mode and want to find only filenames beginning with “12” then search for “^12”. This works because the leading '^' is a standard search pattern character meaning “the beginning of a line”.
You can customize the display of the file listings such that files are displayed in different colors. This only works if the terminal you are running spy from is an ansi terminal. To check if your terminal is an ansi terminal, use the following unix command:
echo $TERMTo customize display of colors with your .spyrc file, use this command:
color filenamePattern colorwhere filenamePattern is the string to match (you can use standard
?as wild-card characters), and color is one of the colors in the list below.
For filenamePattern , you can also specify certain file types: -dir for directory, -x for executable, -tagged for selected files.
Allowable Color Names
The color parameter must be one of :
If you added something like:
color *.hip purple color -dir yellow color core reverse_red color -tagged reverse_blue color -x greento your .spyrc file, it would color all .hip files purple, all directories yellow; all “core” files in reverse red; all tagged (selected) files in blue; and all executable files (as in unix permissions) green.
There is also a command colortoggle which toggles the display of color. You can map this to another key, such as uppercase “C”, in your .spyrc file by using:
map C colortogglein your .spyrc file. The ⇧ Shift + C key combination is the default for turning the display of color on and off.
Sometimes it is desirable to exclude the display of certain file
types. This can be accomplished using ignore masks. To set up an
ignore mask, use the
.spyrc command ignoremask. The syntax
for this command is:
ignoremask [mask] [group]The mask is a pattern string which follows the same rules that spy uses when searching for files within a directory (See Searching Within a Directory ). The group number is optional. If no group number is specified, group 0 is used.
Here is an example of an ignore mask that tells spy not to display all files starting with a period ( “ . ” ).
ignoremask .*A maximum of 256 ignore masks can be specified in the .spyrc file. Each ignore mask command only accepts a single mask string. However, masks can be accumulated by using the same group number. For example:
ignoremask Makedepend 1 ignoremask *.o 1This means that when group 1 is in use, all files matching the patterns *.o and Makedepend will not be shown. spy has a limit of 64 groups numbered from 0 to 63.
The use of the ignore groups can be toggled using the key command ignoretoggle. The syntax for this command is:
ignoretoggle [group]It is possible to map a key to toggle the display of a particular group by adding the following to the .spyrc file.
map [key] ignoretoggle =[group]Here is an example which maps the O key to toggle the display of all .o files in a directory:
ignoremask *.o 1 map o ignoretoggle =1
Finally, it is possible to specify whether a group will be in use on starting spy.
ignoredefault [group] [use]If this command is not present in the .spyrc file, all groups will be used. The use parameter should be set to 0 if this group should not be used on startup and 1 otherwise.
Remapping spy Key Functions
In general, you should never need to remap the spy key functions, but if for some reason you would like to, you can use the map command to reassign the keys spy uses with the following list of Key Functions.
For example, if you were using a Dvorak keyboard layout, but wanted to maintain the six directory navigation keys in the same physical location, you could add the following mappings to your .spyrc file:
map d left map h down map t up map n right map g climb map e
List of Special Key Names
⇧ Shift ((left))
⇧ Shift ((right))
To get spy to use the arrow keys instead of J K H L, add this into your .spyrc:
map <left> left map <right> right map <up> up map <down> down map <enter> display map <s-left> climb
List of Spy Key Functions (Assign to a Key)
|climb||Move to parent directory|
|colortoggle||toggles the display of color|
|command||Execute spy command|
|date||Show current date and time|
|display||Show file or enter directory|
|down||Move cursor down|
|drop||Drop taken file(s) (Paste)|
|empty||Empty taken files(s)|
|enter||Edit file or enter directory|
|experience||Toggle user experience|
|file||Determine type of file(s)|
Shows Help. List commands mapped in .spyrc
|helpdir||Toggle help directory|
|home||Go to home directory|
|ignoredefault||default mask to use|
|ignoremask||Set mask for filename patterns to ignore|
|ignoretoggle||Toggle ignore mask group|
|inventory||List taken file(s) (show Clipboard)|
|jump||Jump to file or directory|
|keys||List key assignments|
|left||Move cursor left|
Re-load .spyrc file
|longlist||Long listing of file(s)|
|next||Repeat previous name search|
|nextfile||Move cursor to next file|
|pagedown||Go to next page|
|pageup||Go to previous page|
|patternpick||Select (pick) files by pattern match|
|pick||Select (pick) or unselect file (toggle)|
|previous||Move cursor to previous file|
|redraw||Re-draw the screen|
|remove||Remove selected file(s)|
|right||Move cursor right|
|search||Search directory for name|
|setenv||Add a new Environment variable|
|showdetail||Toggle directory detail|
|showmemory||Show memory usage|
|startshell||Start another shell|
|take||Take file(s) (Copy)|
|unix_cmd||Execute unix command|
|unpick||Turn all selection (pick) flags off|
|up||Move cursor up|
|version||Display spy Version Number|
|who||Lists users that are currently logged in|