Salut,
Si comme moi, vous avez utilisé bash pendant des années et que vous
êtes un peu curieux, il existe un shell (Bourne aussi...) bien plus
complet que bash (qui, il faut bien avouer, végète maintenant depuis
plusieurs années)...
Je parle bien entendu de zsh, *the* ultimate shell...
Bien sûr, se refabriquer un environnement, tester, perdre une certaine
compatibilité vous effraie un peu et vous n'osez pas vous jeter à
l'eau... Tatata ! C'est là que le fichier attaché à ce message
intervient...
Je suis passé à zsh il y a maintenant quelques semaines, et de
tâtonnements en tâtonnements, j'ai fini par me fabriquer un
environnement propre, clair et surtout francisé (au moins dans les
commentaires).
En effet, un des effets pervers de la richesse de zsh tient dans une
documentation assez démesurée et surtout un nombre d'options assez
délirantes... Quand on mélange tout cela dans un seul fichier, c'est
la croix et la bannière pour s'y retrouver...
Du coup, j'ai fabriqué un environnement qui sépare bien l'ensemble des
paramètres de zsh, pour savoir *immédiatement* où aller chercher
l'information pertinente...
% tar tvfz zsh.tar.gz
-rw-r--r-- pk/users 2110 2004-01-03 14:29:15 .zshrc
-rw-r--r-- pk/users 3206 2004-01-03 18:21:56 .zsh/rc/alias
-rw-r--r-- pk/users 1420 2004-01-02 17:57:33 .zsh/rc/bindkeys
-rw-r--r-- pk/users 4806 2004-01-02 17:57:29 .zsh/rc/completion
-rw-r--r-- pk/users 1247 2004-01-02 17:57:23 .zsh/rc/env
-rw-r--r-- pk/users 1128 2004-01-04 17:28:48 .zsh/rc/misc
-rw-r--r-- pk/users 3908 2004-01-02 17:57:04 .zsh/rc/options
-rw-r--r-- pk/users 1142 2004-01-02 17:54:03 .zsh/rc/paths
-rw-r--r-- pk/users 1114 2004-01-02 17:53:53 .zsh/rc/prompt
-rw-r--r-- pk/users 2471 2004-01-02 17:53:36 .zsh/rc/shell_function
-rw-r--r-- pk/users 1313 2004-01-02 17:53:38 .zsh/rc/zsh_misc
-rw-r--r-- pk/users 1368 2004-01-02 17:53:40 .zsh/rc/zsh_var
drwxr-xr-x pk/users 0 2003-12-26 09:53:25 .zsh/func/
-rw-r--r-- pk/users 4503 2003-12-02 15:18:53 .zsh/func/_mplayer
-rw-r--r-- pk/users 71 2002-04-18 17:55:43 .zsh/func/_mpg321
-rw-r--r-- pk/users 69 2002-04-18 17:58:27 .zsh/func/_unace
-rw-r--r-- pk/users 107 2002-08-28 14:20:06 .zsh/func/_avifix
-rw-r--r-- pk/users 66 2003-10-12 15:58:33 .zsh/func/_cdrdao
-rw-r--r-- pk/users 67 2002-04-18 17:56:20 .zsh/func/_rar
-rw-r--r-- pk/users 235 2002-08-30 11:11:03 .zsh/func/_xv
-rw-r--r-- pk/users 269 2002-09-03 16:49:51 .zsh/func/_cksfv
-rw-r--r-- pk/users 299 2002-10-11 15:41:20 .zsh/func/_pbuilder
-rw-r--r-- pk/users 68 2003-02-01 18:36:29 .zsh/func/_timidity
-rw-r--r-- pk/users 122 2003-09-28 09:08:08 .zsh/func/_par2
-rw-r--r-- pk/users 66 2003-12-26 09:54:28 .zsh/func/_ogminfo
-rw-r--r-- pk/users 27 2004-01-01 18:08:47 .zsh/.zlogin
Il y a donc deux niveaux :
- ~/.zhrc qui contient juste de quoi charger proprement
l'environnement, avec quelques fonctionnalités supplémentaires (comme
ne pas lire les fichiers de sauvegardes des éditeurs, etc.)
- le répertoire .zsh/
Ce dernier contient les fichiers « cachés » de zsh (.zlogin et
.zlogout principalement) ainsi deux répertoires, rc/ et func/.
Le répertoire func/ est là pour étendre localement le complètement de
certaines fonctions qui ne seraient pas livrées en standard avec zsh :
si vous débutez, laisser tomber pour le moment...
Le répertoire rc/ contient l'ensemble des fichiers de configuration à
proprement parler... dans l'ordre :
- alias : comme son nom l'indique ;-)
- bindkeys : le renommage du claviers et des combinaisons de touches
associées.
-completion : jeter un coup d'oeil et vous comprendrez tout l'intérêt
d'un fichier pré-mâché ;-)
- env : toutes les variables d'environnement
- misc : tout ce qui n'a rien à voir avec le reste...
- options : toutes les options de zsh
- paths : la formalisation des différents paths, si nécessaire.
- prompt : l'invite du shell, ô combien personnel...
- shell_function : l'ensemble des fonctions que vous serez amenées à
- fabriquer pour vous faciliter la vie par la suite...
- zsh_misc : tout le reste mais spécifique à zsh
- zsh_var : les variables propres à zsh
Voilà, pour les nouveaux utilisateurs, il suffit de détarer le tarball
dans son répertoire personnel, à la racine, puis de lancer zsh. Un
.dircolors aux petits oignons rend l'ensemble encore plus
beau... Attention aux habitués de zsh de ne pas écraser leur
environnement personnel...
Je livre ici pour tests, avant de mettre le tout sur mon site. Les
retours sont les bienvenus...
Rappel : c'est juste un environnement pour débuter et facilement
personnaliser ensuite son environnement... Dans un premier temps, pas
besoin de m'envoyer des trucs spécifiques (sauf si cela participe à
un environnement global). Dans le cas contraire, je donnerai sur mon
site un fichier de l'ensemble de ces fonctions...
Voilà, un grand merci à Christian Marillat de m'avoir donné
indirectement l'idée et la structure (ainsi que l'ensemble du
répertoire func) et à Adam Spiers pour son fichier fourre-tout,
illisible sans Emacs, et qui m'a servi de ligne-guide (notamment pour
les commentaires).
PK
PS : les utilisateurs de bash peuvent se lancer en toute confiance,
très peu de repères risquent de changer... hormis le complètement de
toutes les commandes, les options, les variables, etc.
PPS : si quelqu'un sait comment formaliser le bindkeys suivant :
mettre Ctrl-flèche droit pour avancer d'un mot et gauche pour reculer
d'un mot... Impossible de lui faire associer en ligne de commande le
ctrl et la flèche...
--
|\ _,,,---,,_ Patrice KARATCHENTZEFF
ZZZzz /,`.-'`' -. ;-;;,_
mailto:p.karatchentzeff@free.fr
|,4- ) )-,_. ,\ ( `'-'
http://p.karatchentzeff.free.fr
'---''(_/--' `-'\_)