Je voudrais un tcsh'ism que je n'ai pas pu trouver: sur une ligne vierge sans contenu, je veux appuyer sur la touche de tabulation et voir l'équivalent d'un ls. C'est-à-dire que je veux
$ <tab>
de faire autre chose que de me donner un \ t. J'ai trouvé des ressources fantastiques pour terminer la commande, mais pas pour ce cas de base. Toute aide à ce sujet serait formidable! Merci.
shell
configuration
zsh
kristopole
la source
la source
Le comportement de Tabau début d'une ligne est contrôlé par le style . Cependant, il n'y a que deux comportements pris en charge:
insert-tab
zstyle ':completion:*' insert-tab false
zstyle ':completion:*' insert-tab true
zstyle ':completion:*' insert-tab pending[=N]
Si vous souhaitez simplement terminer les commandes dans cette position, cela
zstyle ':completion:*' insert-tab true
suffira. Si vous voulez quelque chose de différent, comme lister les fichiers dans le répertoire courant, vous devrez les modifier_main_complete
.Un fil récent sur la liste zsh-workers a été discuté
insert-tab
.la source
_main_complete
fait partie du code zsh qui implémente la complétion. Il se trouve dansCompletion/Base/Core/_main_complete
l'arborescence source, généralement installé dans un emplacement comme/usr/share/zsh/functions/Completion/Base/_main_complete
.-command-
n'entraîne pas la <Tab> à répertorier les fichiers dans le répertoire en cours. Tout ce que vous avez fait est de restreindre les correspondances pour omettre les noms de commande. Mais seules les choses qui seraient terminées dans cette position sont répertoriées, donc pas les fichiers dans le répertoire courant (uniquement les répertoires et exécutables selonautocd
etPATH
).Voici l'implémentation complète de la liste automatique de tcsh dans zsh, lorsque vous appuyez sur tab sur une ligne vide
C'est ici:
Si vous souhaitez émuler tcsh de plus près, ajoutez également ceci à votre .zshrc:
la source
J'ai écrit ce widget zsh qui améliore l'utilisation de TAB, non seulement sur une ligne vide, mais aussi pendant que vous tapez une commande.
Il peut être configuré pour ajouter "cd" ou "./" dans ces cas avec une variable globale.
export TAB_LIST_FILES_PREFIX
la source