[zsh] Votre nouveau shell ?

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Collonges (01) France
Contact :

[zsh] Votre nouveau shell ?

Message par warnaud » dim. 03 févr. 2008, 00:56

Récupération du sujet
http://forums.archlinux.fr/topic1396-15.html qui dérivait :) (par ma faute ..; je me pardonne :p )

Hors-sujet: oui mais peut-on avoir des prompts de geek sous zsh :P ?
Dernière modification par warnaud le dim. 03 févr. 2008, 16:52, modifié 1 fois.
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt

Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)
Contact :

Message par vincentxavier » dim. 03 févr. 2008, 02:46

Le thread n'est-il pas en train de déraper ?

Cela dit, je n'étais pas sur de pouvoir récupérer une partie de la regexp en bash !
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image

_alexmyself
Chu Ko Nu
Messages : 405
Inscription : lun. 18 sept. 2006, 16:21
Localisation : france, yvelines 78

Message par _alexmyself » dim. 03 févr. 2008, 03:16

c'est de la daube en barquette bash quand meme....

là je suis en plein dedans, et a vrai dire si c'était pas la grosse base du monde linux ba y'a longtemps qu'il se serait pris un coup de fusil....

autant ca peut etre simple a lire autant c'est l'angoisse a écrire quoi....

je l'ai catalogué au rang des langages systématiques: t'écris, t'essaies, ça marche pas

honnetement je sait pas a quoi vous jouez comme langages mais moi j'ai rien trouvé de plus souple/peinard que du php....mais de loin...ca s'écrit facilement, ca se relit facilement, ca pardonne un max...y'a pas photo....
après je dit pas, c'est interprété, c'est lent, c'est pauvre...

quitte a glisser sur ce topic, c'est quoi votre langage préféré et pourquoi ?

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » dim. 03 févr. 2008, 04:53

warnaud a écrit :Hors-sujet: oui mais peut-on avoir des prompts de geek sous zsh :P ?
Oui et même beaucoup plus que sous bash : déjà ton prompt est découpé en 5 parties possibles :
1/ partie gauche de ta ligne,
2/ partie droite de ta ligne (qui va disparaitre si ce que tu tapes atteind dépasse une ligne)
3/ partie intéraction : Quand le shell te parle (correction automatique de ta frappe par exemple)
Deux autres dont je ne me souvient pas l'utilité de tête. En gros chez moi ça donne PROMPT ( PROMPT2 PROMPT3 PROMPT4 PROMPT_COMMAND) 5 variables d'environnement à positionner.

(Il est toujours possible de rester sobre avec un simple PS1 à la bash :))

Enfin ça c'est pour la partie basic, si tu eux vraiment aller plus loin dans ton prompt, il y a un sous système qu'il lui est dédié, et la tu peux te lacher à coup de promptinit pour lancer le sous-système, et la tu obtiens des thèmes, avec une dixaine disponible par défaut.

M'enfin la le thread dérive, par ma faute.... Je propose que ceux qui sont intéressé par plus d'info zsh ouvrent un thread spécifique à cet effet ou que les modérateurs split ce thread pour le laisser vivre sa vie.

Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)
Contact :

Message par vincentxavier » dim. 03 févr. 2008, 20:57

Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image

nik11
Hankyu
Messages : 45
Inscription : lun. 01 oct. 2007, 19:29

Message par nik11 » dim. 03 févr. 2008, 21:10

Des prompts de geek, il y en a à la pelle :D tape prompt -l et tu auras une liste des prompts de base, (essaie prompt elite :) si tu veux vraiment un prompt de geek).

Avatar de l’utilisateur
FredBezies
Elfe
Messages : 572
Inscription : ven. 21 déc. 2007, 21:25
Localisation : Biganos (33)
Contact :

Message par FredBezies » lun. 04 févr. 2008, 07:51

Mouais, il a quoi de plus que bash pour un usage basique ? ;)
"Ceux qui sont prêts à sacrifier une liberté essentielle pour acheter une sûreté passagère, ne méritent ni l'une ni l'autre." (Benjamin Franklin)

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » lun. 04 févr. 2008, 09:07

Il faudrait déjà définir, un usage basique.

Mais chez moi il me corrige automatiquement la frappe par exemple,
Quand une ligne de commande est érronnée il me propose de me la corrigée.

Iil y a le génialissime run-help qui permet d'accéder au man d'une commande que l'on est en train de taper, sans pour autant avoir à supprimer sa ligne en cours.

par exemple :
yaourt -Sy[Esc-H]
Me donne le man yaourt et quand je quitte le man mon prompt est :
yaourt -Sy

AUTOCD, je me déplace dans les rep sans avoir a taper cd
AUTOMENU : une menu pour la completion
les alias suffix et la gestion des mimes-types : ./toto.odt me lance oowriter toto.odt par exemple.
ls *~*.o qui permet de lister tout ce qui n'est pas .o
rm **/*.c qui me fait un find . -name *.c -exec rm {}\;


Bref beaucoup, beaucoup de choses.

Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1121
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Message par Skunnyk » lun. 04 févr. 2008, 10:59

les quelques fois que j'ai testé zsh (sur system rescue cd), j'ai trouvé ca tres puissant, niveau auto completion, correction, etc .. même pour un usage basique! (je n'ai jamais scripté en zsh).
Il faudrait que je m'y penche un de ces jours :)
Au passage, une depeche de bapt sur linuxfr sur la sortie de nouvelles version de zsh : http://linuxfr.org/2008/02/03/23650.html

Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Collonges (01) France
Contact :

Message par warnaud » lun. 04 févr. 2008, 11:24

Y'aurait moyen d'avoir un zouli wiki sur zsh?
Je l'ai installé, j'ai bourriné mon prompt :)
Mais bon je suis pas trop allé plus loin les astuces genre Esc+H ça sent le truc énorme !

Petite question en aparté, dans la doc sur zsh ils disent de se faire un /etc/zprofile j'ai fais un vieux lien vers /etc/profile (car ça m'étonnerait que dans les scripts les 2 fichiers soient pris en compte :D) est-ce une connerie?

J'ai regardé ici pour le wiki : http://wiki.archlinux.org/index.php/Zsh
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » lun. 04 févr. 2008, 11:25

Skunnyk a écrit :Au passage, une depeche de bapt sur linuxfr sur la sortie de nouvelles version de zsh : http://linuxfr.org/2008/02/03/23650.html
cf 4. posts plus haut :)

Avatar de l’utilisateur
IdoMcFly
Chu Ko Nu
Messages : 436
Inscription : lun. 17 déc. 2007, 14:26

Message par IdoMcFly » lun. 04 févr. 2008, 13:25

perso j'utilise zsh depuis... 2001 à l'école, puis chez moi qd je suis passé à linux. Bon ma conf est repompée de celle d'un pote donc je ne la maitrise pas. mais un jour j'irais fouiner un peu :)

Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Collonges (01) France
Contact :

Message par warnaud » mar. 05 févr. 2008, 22:43

Bon, je m'amuse bien, j'ai choisi le prompt adam2 :) (les autres apparaissant bizarrement, surement un délire de fonts)
J'ai encore 2-3 délire genre Fin / Home qui affichent un ~

Edit résolu avec dans ~/.zshrc:

Code : Tout sélectionner

# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[3~" delete-char
bindkey "\e[2~" quoted-insert
bindkey "\e[5C" forward-word
bindkey "\eOc" emacs-forward-word
bindkey "\e[5D" backward-word
bindkey "\eOd" emacs-backward-word
bindkey "\e\e[C" forward-word
bindkey "\e\e[D" backward-word
bindkey "^H" backward-delete-word
# for rxvt
bindkey "\e[8~" end-of-line
bindkey "\e[7~" beginning-of-line
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
bindkey "\eOH" beginning-of-line
bindkey "\eOF" end-of-line
# for freebsd console
bindkey "\e[H" beginning-of-line
bindkey "\e[F" end-of-line
# completion in the middle of a line
bindkey '^i' expand-or-complete-prefix
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt

milambert
Hankyu
Messages : 38
Inscription : mar. 21 août 2007, 09:47
Localisation : Belgique

Message par milambert » mer. 06 févr. 2008, 09:59

warnaud a écrit :Bon, je m'amuse bien, j'ai choisi le prompt adam2 :) (les autres apparaissant bizarrement, surement un délire de fonts)
je me demande si ce n'est pas parce que zsh n'est pas compilé avec le support de l'unicode.

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » mer. 06 févr. 2008, 10:47

Voila le PKGBUILD zsh avec support de l'unicode en version 4.3.5

Code : Tout sélectionner

# $Id: PKGBUILD,v 1.22 2007/07/13 05:57:54 eric Exp $
# Maintainer: aurelien <aurelien@archlinux.org>
# Contributor: Jochem Kossen <j.kossen@home.nl>
pkgname=zsh
pkgver=4.3.5
pkgrel=1
pkgdesc="A very advanced and programmable command interpreter (shell) for UNIX"
arch=('i686' 'x86_64')
url="http://www.zsh.org/"
license=('custom')
depends=('ncurses')
install="zsh.install"
source=(ftp://ftp.zsh.org/pub/$pkgname-$pkgver.tar.bz2 usr_zsh.sh)
md5sums=('db0d4b71da8e5877fa1e29d4cea38b8c'
         '7b7afc638a9274cc16a3546ca2fff2ff')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr --bindir=/bin \
    --enable-etcdir=/etc/zsh \
    --enable-zshenv=/etc/zsh/zshenv \
    --enable-zlogin=/etc/zsh/zlogin \
    --enable-zlogout=/etc/zsh/zlogout \
    --enable-zprofile=/etc/profile \
    --enable-zshrc=/etc/zsh/zshrc \
    --enable-maildir-support \
    --with-curses-terminfo \
    --enable-multibyte \
    --enable-zsh-secure-free
  make || return 1
  make DESTDIR=$startdir/pkg install

  install -D -m 755 $startdir/src/usr_zsh.sh $startdir/pkg/usr/bin/zsh
  install -D -m644 LICENCE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
}
PS: Non il n'ira pas sur mon AUR, et ce ne sera pas non plus mis à jour avant des plombes puisque ce n'est pas un bug.
PS2 : Oui je suis aigri et oui ça me passera :)

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » mer. 06 févr. 2008, 10:50

warnaud a écrit :Bon, je m'amuse bien, j'ai choisi le prompt adam2 :) (les autres apparaissant bizarrement, surement un délire de fonts)
Ne te bat pas avec tes fonts, c'est un problème d'unicode, bah oui le package zsh officiel ne supporte pas l'unicode cf mon post précédent, d'ailleurs pour ceux qui veulent jouer avec le nouveau support ncurses préfèreront utiliser aussi le PKGBUILD posté ci-dessus.

Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Collonges (01) France
Contact :

Message par warnaud » mer. 06 févr. 2008, 12:59

Oki :)
Je peux le compiler et le mettre sur archlinuxfr?
On t'as pas filé l'accès (d'ailleurs)?
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » mer. 06 févr. 2008, 13:09

warnaud a écrit :Oki :)
Je peux le compiler et le mettre sur archlinuxfr?
On t'as pas filé l'accès (d'ailleurs)?
Oui j'ai les accès, mais je l'ai pété :)

Biensûr que tu peux le mettre sur archlinuxfr, mais attends je suis en train de le modifié car il y a plusieurs choses qui me gêne avec ce PKGBUILD, je reviens avec une nouvelle version du PKGBUILD cet après midi.

Avatar de l’utilisateur
bapt
Daikyu
Messages : 85
Inscription : jeu. 20 sept. 2007, 09:20
Contact :

Message par bapt » mer. 06 févr. 2008, 14:53

Voila le nouveau PKGBUILD :

Code : Tout sélectionner

pkgname=zsh
pkgver=4.3.5
pkgrel=1
pkgdesc="A very advanced and programmable command interpreter (shell) for UNIX"
arch=('i686' 'x86_64')
url="http://www.zsh.org/"
license=('custom')
depends=('ncurses')
install="zsh.install"
source=(ftp://ftp.zsh.org/pub/$pkgname-$pkgver.tar.bz2 usr_zsh.sh)
md5sums=('db0d4b71da8e5877fa1e29d4cea38b8c'
         '7b7afc638a9274cc16a3546ca2fff2ff')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr --bindir=/bin \
    --enable-etcdir=/etc/zsh \
    --enable-zshenv=/etc/zsh/zshenv \
    --enable-zlogin=/etc/zsh/zlogin \
    --enable-zlogout=/etc/zsh/zlogout \
    --enable-zprofile=/etc/profile \
    --enable-zshrc=/etc/zsh/zshrc \
    --enable-maildir-support \
    --with-term-lib="ncursesw" \
    --enable-multibyte \
    --enable-function-subdirs \
    --enable-zsh-mem \
    --with-tcsetpgrp \
    --enable-zsh-secure-free
  make || return 1
  make DESTDIR=$startdir/pkg install

  install -D -m 755 $startdir/src/usr_zsh.sh $startdir/pkg/usr/bin/zsh
  install -D -m644 LICENCE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
}
Ce qu'il y a de neuf par rapport à la version officielle archlinux :
- prise en compte de l'unicode
- prise en compte des allocations mémoires spécifiques zsh (=> moins de conso mémoire) pour cette partie je ne suis pas certain que ce soit efficace sous linux, mais au pire c'est identique, au mieux ca consomme moins, donc vaut mieux le mettre
- Prise en compte du découpage officiel en sous répertoires des fonctions , plutôt que de tout mettre (completion, fonctions) dans un seul et unique répertoire incompréhensible.
- Prise en compte du nouveau système de détection des lib de terminal (ncurses/terminfo) ça ne change rien pour l'utilisateur final, mais autant prendre la méthode officielle.

Voila avec cette version vous devriez pouvoir bien jouer avec un zsh propre, il ne manque plus que les expressions régulière, mais ça rajoute une dépendance à pcre, et donc je pense que l'omission de cette fonctionnalité est volontaire.

EDIT: et comme je ne suis pas top rancunier, j'ai comment ajouté une tâche au flyspray : http://bugs.archlinux.org/task/9475 feature request ce coup ci, puisque ce ne sont pas des bugs.

Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Collonges (01) France
Contact :

Message par warnaud » mer. 06 févr. 2008, 16:32

Ok je le mets sur le repo ce soir.

Merci
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt

Répondre