Tout a commencé par un simple
alias gv='gvim --remote-quiet'
et ne gv
Space Tabdonne plus rien là où il devrait normalement donner des noms de fichiers. Bizarrement,
alias gvi='gvim --remote-quiet'
fonctionne comme prévu. J'ai clairement une solution de contournement, mais j'aimerais savoir ce qui m'attrape gv
pour un traitement spécial. compopt
ne sert à rien car il gv
partage les mêmes paramètres que pour la ls
complétion correcte du nom de fichier.
$compopt gv
compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs gv
$ compopt ls
compopt +o bashdefault +o default +o dirnames -o filenames +o nospace +o plusdirs ls
La complete
commande est légèrement plus utile, mais elle ne me dit pas pourquoi mes deux personnages ont été sélectionnés pour être modifiés:
$ complete -p gv
complete -o filenames -F _filedir_xspec gv
$ complete -p ls
complete -o filenames -F _longopt ls
$ complete -p echo
bash: complete: echo: no completion specification
$ alias gvi='gvim --remote-silent'
$ complete -p gvi
bash: complete: gvi: no completion specification
D'où complete -o filenames -F _filedir_xpec gv
venait-il?
Réponses:
Je l'ai enfin compris. Il se cachait dans
/etc/bash_completions
lequel - ironiquement - j'ai négligé car il n'apparaissait pas sur mes complétions de nom de fichier.L'utile bash_completions pense que cela
gv
signifieghostview
qu'il ne me permettra que de compléter les noms de fichiers qu'il s'attend à ce que ghostview puisse gérer:Je pense que cela compte comme "trop sacrément utile". Ajouter
à mon
~/.bash_aliases
dossier était suffisant.la source