Bash-подобная, не вращающаяся вкладка имени файла с PowerShell

8

Под 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, что было бы хорошо, но было бы достаточно иметь сам выбор имени файла.)

Bruno
источник

Ответы:

5

Поведение завершения по умолчанию является результатом использования командного окна, которое обрабатывает ввод с клавиатуры.

Начиная с 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.aspx http : //nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30

Джей Базузи
источник