Bien débuter sous zsh

Top Page

Reply to this message
Author: Patrice Karatchentzeff
Date:  
To: GUILDE
New-Topics: Re: {Virus?} Bien dXbuter sous zsh
Subject: Bien débuter sous zsh
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
    '---''(_/--'  `-'\_)