Command Key Bindings

You control the command editor interface by choosing a set of key bindings—associations between keys and editing commands. There are two sets of bindings, patterned after the editing commands used in GNU emacs and in vi.[11] If the set of bindings you want is not the set tcsh uses by default at your site,[12] make sure you always get the desired bindings by adding the appropriate bindkey command to ˜/.cshrc or ˜/.tcshrc:

bindkey -e                   Select emacs bindings
bindkey -v                   Select vi bindings

You can also use bindkey commands to add, remove, or modify individual bindings. See Examining and Modifying Key Bindings, later in this chapter.

bindkey is a tcsh-specific command. If you use ˜/.cshrc rather than ˜/.tcshrc, protect any bindkey statements from csh, using the instructions in the section Organizing Your Startup Files in Chapter 4, The Shell Startup Files.

Getting Key Binding Information

With either set of bindings, you'll sometimes need to review the functions of certain keys as you learn the command editor. The following command is useful:

% bindkey

bindkey, with no arguments, displays your current key bindings by showing the associations between keystrokes and editing command names. Keystrokes are displayed using ^X for CTRL-X, ^[ for ESC, ^? for DEL, and \nnn for the ASCII character with octal code nnn. The \nnn notation is obscure; typically these are keystrokes you type by holding down the META key. It's usually easier to figure out what META-c does by looking ...

Get Using csh & tcsh now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.