Go to the first, previous, next, last section, table of contents.


Each of the above editor commands was actually a function bound by default to a certain key. The real names of the commands are:

expand-or-complete   TAB
push-line            ESC-Q
run-help             ESC-H
accept-and-hold      ESC-A
quote-line           ESC-'

These bindings are arbitrary; you could change them if you want. For example, to bind accept-line to ^Z:

% bindkey '^Z' accept-line

Another idea would be to bind the delete key to delete-char; this might be convenient if you use ^H for backspace.

% bindkey '^?' delete-char

Or, you could bind ^X^H to run-help:

% bindkey '^X^H' run-help

Other examples:

% bindkey '^X^Z' universal-argument
% bindkey ' ' magic-space
% bindkey -s '^T' 'uptime
> '

universal-argument multiplies the next command by 4. Thus ^X^Z^W might delete the last four words on the line. If you bind space to magic-space, then csh-style history expansion is done on the line whenever you press the space bar.

The -s flag to bindkey specifies that you are binding the key to a string, not a command. Thus bindkey -s '^T' 'uptime\n' lets you VMS lovers get the load average whenever you press ^T.

If you have a NeXT keyboard, the one with the | and \ keys very inconveniently placed, the following bindings may come in handy:

% bindkey -s '\/' '\\'
% bindkey -s '\=' '|'

Now you can type ALT-/ to get a backslash, and ALT-= to get a vertical bar. This only works inside zsh, of course; bindkey has no effect on the key mappings inside talk or mail, etc.

Another use of the editor is to edit the value of variables. For example, an easy way to change your path is to use the vared command:

% vared PATH
> /u/pfalstad/scr:/u/pfalstad/bin/sun4:/u/maruchck/scr:/u/subbarao/bin:/u/maruc

You can now edit the path. When you press return, the contents of the edit buffer will be assigned to PATH.

Go to the first, previous, next, last section, table of contents.