Finalización de pestañas de nombre de archivo no rotativo, similar a Bash con PowerShell

8

En Windows, usando PowerShell, ¿es posible hacer que la sugerencia de nombre de archivo (usando la Tabclave) funcione como con bash en Linux?

Vamos a suponer un directorio contiene 3 directorios: example1, exampley examination.

En Windows (por defecto), si escribe cd exy Tab, sugerirá automáticamente cd .\examination. Los usos posteriores de Tabrotarán la sugerencia entre example1, exampley examination.

El uso de bash (normalmente bajo Linux), si escribe cd exy Tab, que se completará automáticamente en hasta que el carácter, donde los nombres de los archivos comienzan a ser diferentes: cd exam. Otro uso de Tabentonces sugiere qué directorios están disponibles:

$ cd exam
examination/ example1/    example2/

Luego, si escribe py Tab, se completará automáticamente en example, y así sucesivamente (aquí, ofreciendo una opción entre example1y example2).

¿Hay alguna manera de hacer que la sugerencia de nombre de archivo funcione en una búsqueda similar a un árbol como esta, en lugar de rotar por los nombres?

(Me interesan principalmente los nombres de archivo. Bash también puede refinar esta selección en función del tipo de archivo, por ejemplo, solo directorios para cd, lo que sería bueno, pero tener la selección del nombre de archivo sería suficiente).

Bruno
fuente

Respuestas:

5

El comportamiento de finalización predeterminado es el resultado de usar la ventana de comandos, que maneja la entrada del teclado.

A partir de PowerShell v3, vale la pena considerar el ISE como un shell de tiempo completo y tiene un comportamiento de finalización moderno (¡y colorización!).

Si realmente desea completar el estilo BASH en una ventana de comandos de PowerShell, obtenga PSReadline :

https://github.com/lzybkr/PSReadLine

Hay un proyecto más antiguo, menos destacado y sin mantenimiento, también llamado PSReadline aquí: 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
fuente