Под Windows, используя PowerShell, возможно ли заставить предложение имени файла (используя Tabключ) работать так же, как с bash в Linux?
Давайте предположим , каталог содержит 3 директории: example1
, example
и examination
.
В Windows (по умолчанию), если вы наберете cd ex
и Tab, это автоматически предложит cd .\examination
. Последующее использование Tabповернет предложение между example1
, example
и examination
.
Использование Баша ( как правило , под Linux), если вы печатаете cd ex
и Tabон будет заполняться автоматически до символа , где имена файлы начинают отличаться: cd exam
. Другое использование Tabзатем предлагает, какие каталоги доступны:
$ cd exam
examination/ example1/ example2/
Затем, если вы введете « pи» Tab, он будет автоматически завершен до example
и так далее (здесь предлагается выбор между example1
и example2
).
Есть ли способ заставить предложение имени файла работать в древовидном поиске, подобном этому, вместо того, чтобы перебирать имена?
(В основном меня интересуют имена файлов. Bash также может уточнить этот выбор в зависимости от типа файла, например, только для каталогов cd
, что было бы хорошо, но было бы достаточно иметь сам выбор имени файла.)
Ответы:
Поведение завершения по умолчанию является результатом использования командного окна, которое обрабатывает ввод с клавиатуры.
Начиная с PowerShell v3, ISE стоит рассматривать как полностью занятую оболочку, и имеет современное поведение завершения (и раскрашивание!).
Если вы действительно хотите завершение в стиле BASH в командном окне PowerShell, получите PSReadline :
https://github.com/lzybkr/PSReadLine
Здесь есть более старый, менее функциональный и не поддерживаемый проект, который также называется PSReadline:
http://nivot.org/nivot2/post/2012/09/12/Emulation-Bash-GNU-Readline-with-PowerShell-30.aspxhttp : //nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30источник