Cómo hacer que la finalización de pestañas de PowerShell funcione como Bash
Digamos que tengo los siguientes archivos en mi directorio actual:
buildBar.bat
buildFoo.bat
buildHouse.bat
Y escribo lo siguiente en mi símbolo del sistema ./bu
y luego TAB.
En Bash, se expande a
./build
En PowerShell, se expande al
./buildBar.bat
primer elemento de la lista.En Cmd, el comportamiento es el mismo que en PowerShell.
Prefiero el comportamiento de Bash. ¿Hay alguna manera de hacer que PowerShell se comporte como Bash?
Las nuevas versiones de PowerShell incluyen PSReadline, que se puede utilizar para hacer esto:
Set-PSReadlineKeyHandler -Key Tab -Function Complete
o, para hacerlo aún más parecido a bash, donde puedes usar las teclas de flecha para navegar por las opciones disponibles:
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
Para hacerlo permanente, coloque este comando en su perfil de PowerShell, definido por $PROFILE
(generalmente %UserProfile%\Documents\WindowsPowerShell\profile.ps1
para Windows PowerShell 5.x y %UserProfile%\Documents\PowerShell\profile.ps1
PowerShell 6+).
tab
solo completa el nombre del comando, no sus argumentos/parámetros anteriores.
para autocompletar también el comando completo con argumentos del historial, configure la siguiente combinación de teclas.
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
Ahora, escriba algunos caracteres del nombre del comando y use la flecha arriba/abajo para autocompletar este comando (con argumentos) del historial.
ahorro de tiempo real.
Ver más: Enciende tu PowerShell