Как сделать завершение работы вкладки PowerShell, например Bash
Допустим, у меня есть следующие файлы в моем текущем каталоге:
buildBar.bat
buildFoo.bat
buildHouse.bat
И я набираю в командной строке следующее: ./bu
, а затем TAB.
В Bash он расширяется до ./build
В PowerShell он расширяется до ./buildBar.bat
- первого элемента в списке.
В Cmd поведение такое же, как в PowerShell.
Я предпочитаю поведение Bash - есть ли способ заставить PowerShell вести себя как Bash?
Ответы
Ответ 1
Новые версии PowerShell включают PSReadline, которые можно использовать для этого:
Set-PSReadlineKeyHandler -Key Tab -Function Complete
Чтобы сделать его постоянным, поместите эту команду в C:\Users\[User]\Documents\WindowsPowerShell\profile.ps1.
Ответ 2
Теперь можно заставить PowerShell выполнять завершение в стиле Bash, используя PSReadline.
Посмотрите в блоге Bash-подобную вкладку в PowerShell.
Ответ 3
Взгляните сюда, а не на ваше желание:
PowerTab
но я думаю, что это лучшая функция расширения вкладок для консоли PowerShell!!!
Ответ 4
Измените функцию TabExpansion, чтобы достичь желаемого. Помните, что, возможно, он завершится до конца, если вы снова нажмете вкладку, новое предложение изменится с того места, где вы первоначально нажимаете клавишу. Я сильно предпочитаю фактическое поведение, я хочу, чтобы линия была набрана как можно быстрее. Наконец, не забудьте расширение подстановки, например: bu * h [Tab] автоматически завершает buildHouse.bat