4.  Les apports de TCsh

4.1. Completion étendue

Sous tcsh le mécanisme de completion des noms a été amélioré. Ce shell peut compléter les noms des fichiers, des commandes et des variables. De plus la completion des noms de fichiers est programmable !

La completion est déclenchable par la touche <TAB>, bien que par compatibilité ascendante avec csh, la touche <ESC> reste opérationnelle.

Contexte de variables : Il faut utiliser le préfixe $ (il change le contexte de la completion) :


$ set varia_1=10                                                                
$ echo $var<TAB>
$ echo $varia_1 <ENTREE>
10

4.2. bindkey

Cette commande permet l'édition des commandes en ligne dans un buffer au moyen des contrôles associés aux éditeurs classiques d'Unix, à savoir vi ou emacs. Utilisée seule, elle retourne la liste des associations clés/commandes.

Le positionnement par défaut est souvent le mode emacs, il est déterminé à la compilation. La variable version permet de connaître la version de la commande ainsi que les options de compilation. Dans l'exemple suivant, l'absence de la clé vi, permet d'affirmer que le mode par défaut est emacs.


$ echo $version
tcsh 6.12.00 (Astron) 2002-07-23 (i386-intel-FreeBSD) options 8b,nls,dl,al,kan,s
m,rh,color,dspm,filec

Cette commande permet aussi de commuter entre le mode vi et le mode emacs.


$ bindkey -e   # mode emacs                                                     
$ bindkey -v   # mode vi

Dans le tableau suivant, nous présentons un sous-ensemble des commandes d'édition :

Tableau 13.  Quelques couples clé/commande en mode emacs

Clé Commande
^APositionne le curseur en début de ligne
^BRecule horizontalement le curseur d'un caractère
^EPostionne le curseur en fin de ligne
^LEfface l'ecran
^KCoupe tous les caractères à la droite du curseur
^TTransposition de caractères
^MNouvelle ligne
^UEfface toute la ligne
^CSignal d'interruption
^ZSignal de suspension
BackspaceEfface le premier caractère situé à gauche du curseur
Flèche gaucheDéplacement d'un caractère à gauche du curseur
Flèche droiteDéplacement d'un caractère situé à droite du curseur
Flèche hautRemonte dans l'historique des commandes (vers les commandes les plus anciennes)
Flèche basDescend dans l'historique des commandes


4.3. Spelling Correction

Ce mécanisme est déclenché en postionnant la variable (interne) tcsh correct (valeurs possibles cmd ou all) :


$ set correct = cmd
$ lzss test.csh                          # ooops typo !

CORRECT>less test.csh  (y|n|e|a)? yes    # frappe de la touche y ou <ESPACE>    
#!/bin/csh                               # lecture et affichage du fichier

echo '\nJe suis le programme $0   : ' $0
...

Skins :
Transparence
Simple
Page Accueil
Formation