Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Du premier coup SVP

17 réponses
Avatar
Ph. Ivaldi
Bonjour,

Suite à ma migration de KDE vers Xmonad, je suis obligé de presser deux
fois la touche 7 pour avoir le caractère `.
Comment avoir le ` du premier coup ?

Tant que j'y suis...
Il y a bien longtemps, quand j'étais sous Mandrake, un TAB en console me
donnait immédiatement le complètement.
Depuis 5 ans que je suis sous Debian il me faut deux TAB pour l'avoir.
Comment avoir le complètement du premier coup ?

Au fait, y a-t-il un intérêt particulier à ce que ce soit en deux
fois plutôt qu'une ?

Merci,
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/

7 réponses

1 2
Avatar
Nicolas George
Ph. Ivaldi wrote in message :
Je crois que c'est ça.
Par exemple, si je tape apt-<TAB>, je voudrais avoir la liste des
possibilités sans me prendre un bip et devoir recommencer TAB.
En revanche, si je tape apr-<TAB>, j'accepte de me faire biper.

Actuellement apt-<TAB> et apr-<TAB> renvoient tous les deux un bip; je
trouve idiot de devoir faire à nouveau <TAB> pour savoir s'il y a
ambiguïté ou erreur.



Je suis d'accord avec cette opinion. Personnellement, j'utilise la
configuration suivante :

setopt always_last_prompt
setopt auto_list
setopt auto_menu
setopt list_ambiguous
setopt no_list_beep
setopt list_packed
setopt list_types

J'obtiens le comportement suivant, qui me satisfait pleinement :

- S'il n'y a pas ambiguïté immédiatement, complète jusqu'à la première
ambiguïté, et c'est tout.

- S'il y a ambiguïté, affiche la liste la première fois, puis cycle dans les
possibilités.

En jouant avec les différentes options, on peut obtenir à peu près ce qu'on
veut.
Avatar
Ph. Ivaldi
Le 21 juin 2009, Nicolas George écrivit :

setopt always_last_prompt
setopt auto_list
setopt auto_menu
setopt list_ambiguous
setopt no_list_beep
setopt list_packed
setopt list_types



S'il n'y a pas d'équivalent en bash, je sais ce qu'il va me rester à
faire...
Merci.
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Avatar
Fabien LE LEZ
On Sun, 21 Jun 2009 11:26:30 +0200, Sergio
:

Personnellement, au risque de me faire incendier par
les ayatollah du groupe, je préfère le comportement du cmd.exe de
Windows, qui avec la touche Tab fait "tourner" les différentes possibilités.



Quand tu as deux ou trois possibilités, c'est encore utilisable. Quand
tu en as plusieurs dizaines, c'est vite galère.

Tiens, par exemple, mon répertoire "logs Apache" contient
360 fichiers :

access.log.1.080701.000004.gz
access.log.1.080702.000005.gz
access.log.1.080703.000003.gz
[...]
access.log.1.090619.000003.gz
access.log.1.090620.000004.gz
access.log.1.090621.000003.gz

Sous bash, je tape "a", puis TAB ; j'ai alors à l'écran
"access.log.1.0", et je n'ai plus qu'à taper la date, puis TAB à
nouveau.
Avatar
Erwan David
Nicolas George <nicolas$ écrivait :

Erwan David wrote in message
:
Comportement de zsh : 1 tab completion ou beep avec completion partielle
(partie commune à toutes les solutions, puis ça tourne.



Le comportement de zsh est complètement configurable.



Oui comme tout zsh

--
zsh c'est bon, mangez-en
Avatar
Nicolas George
Fabien LE LEZ wrote in message
:
Quand tu as deux ou trois possibilités, c'est encore utilisable. Quand
tu en as plusieurs dizaines, c'est vite galère.



Les deux comportements ont leur utilité : tu as décrit l'utilité de la
complétion inambiguë ; la complétion cyclique devient très pratique quand on
a quelques fichiers avec des noms subtilement proches ou comportant des
caractères pénibles.

C'est pourquoi j'ai personnellement choisi la combinaison des deux : le
premier appui me donne la complétion inambiguë si elle existe, le deuxième
appui me donne la liste (je ne supporte pas d'avoir la liste immédiatement :
la plupart du temps, je sais ce que je vais taper), le troisième commence le
cycle.
Avatar
Mihamina Rakotomandimby
06/21/2009 04:47 PM, Ph. Ivaldi::
Le 21 juin 2009, Nicolas George écrivit :

setopt always_last_prompt
setopt auto_list
setopt auto_menu
setopt list_ambiguous
setopt no_list_beep
setopt list_packed
setopt list_types



S'il n'y a pas d'équivalent en bash, je sais ce qu'il va me rester à
faire...
Merci.



dans /etc/bash_completion
[...]
# we have a CDPATH, so loop on its contents
for i in ${CDPATH//:/$'t'}; do
# create an array of matched subdirs
k="${#COMPREPLY[@]}"
for j in $( compgen -d $i/$cur ); do
if [[ ( $mark_symdirs && -h $j || $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then
j="${j}/"
fi
COMPREPLY[k++]=${j#$i/}
done
done
[...]

Ca devrait faire à peu pres "la boucle" (mais j'ai pas regardé de trop pres)
Avatar
Nicolas George
Mihamina Rakotomandimby wrote in message
<h1njos$2336$:
dans /etc/bash_completion
[...]
# we have a CDPATH, so loop on its contents



Ca devrait faire à peu pres "la boucle" (mais j'ai pas regardé de trop pres)



Euh, allô ? Quel rapport entre cette fonction, qui manifestement construit
la liste des réponses pour la complétion de la commande interne cd, et la
présente discussion ?
1 2