Compléter un onglet de nom de fichier non rotatif comme Bash avec PowerShell

8

Sous Windows, en utilisant PowerShell, est-il possible de faire fonctionner la suggestion de nom de fichier (en utilisant la Tabclé) comme avec bash sous Linux?

Supposons un répertoire contient 3 répertoires: example1, exampleet examination.

Sous Windows (par défaut), si vous tapez cd exet Tab, il suggérera automatiquement cd .\examination. Les utilisations suivantes de Tabferont pivoter la suggestion entre example1, exampleet examination.

En utilisant bash (généralement sous Linux), si vous tapez cd exet Tab, il sera auto-complet jusqu'à ce que le caractère où les noms de fichiers commencent à différer: cd exam. Une autre utilisation de Tabalors suggère quels répertoires sont disponibles:

$ cd exam
examination/ example1/    example2/

Ensuite, si vous tapez pet Tab, il se complétera automatiquement en exampleet ainsi de suite (ici, offrant un choix entre example1et example2).

Existe-t-il un moyen de faire fonctionner la suggestion de nom de fichier dans une recherche arborescente comme celle-ci, au lieu de faire défiler les noms?

(Je suis principalement intéressé par les noms de fichiers. Bash peut également affiner cette sélection en fonction du type de fichier, par exemple uniquement les répertoires pour cd, ce qui serait bien, mais avoir la sélection du nom de fichier lui-même serait suffisant.)

Bruno
la source

Réponses:

5

Le comportement d'achèvement par défaut est le résultat de l'utilisation de la fenêtre de commande, qui gère la saisie au clavier.

À partir de PowerShell v3, l'ISE mérite d'être considéré comme un shell à temps plein et a un comportement de complétion moderne (et une colorisation!).

Si vous voulez vraiment l'achèvement de style BASH dans une fenêtre de commande PowerShell, obtenez PSReadline :

https://github.com/lzybkr/PSReadLine

Il existe un projet plus ancien, moins présenté et non géré, également appelé PSReadline ici: http://nivot.org/nivot2/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30.aspx http : //nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30

Jay Bazuzi
la source