Автодополнение имени файла с помощью клавиши Tab в стиле Bash и PowerShell без ротации

Автодополнение имени файла с помощью клавиши Tab в стиле Bash и PowerShell без ротации

Можно ли в Windows, используя PowerShell, заставить предложение имени файла (с использованием Tabключа) работать так же, как в bash в Linux?

Предположим, что каталог содержит 3 каталога: example1, exampleи examination.

В Windows (по умолчанию), если вы введете cd exи Tab, автоматически будет предложено cd .\examination. Последующее использование Tabбудет чередовать предложения между example1, exampleи examination.

Используя bash (обычно в Linux), если вы введете cd exand Tab, он будет автоматически дополняться до символа, где имена файлов начинают различаться: cd exam. Другое использование Tabthen подсказывает, какие каталоги доступны:

$ cd exam
examination/ example1/    example2/

Затем, если вы введете pи Tab, произойдет автоматическое заполнение до exampleи т. д. (здесь предлагается выбор между example1и example2).

Есть ли способ заставить предложение имени файла работать в древовидном поиске, подобном этому, вместо ротации по именам?

(Меня в основном интересуют имена файлов. Bash также может уточнить этот выбор на основе типа файла, например, только каталоги для cd, что было бы хорошо, но было бы достаточно иметь выбор самого имени файла.)

решение1

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

Начиная с PowerShell v3, ISE можно рассматривать как полноценную оболочку, обладающую современным поведением автодополнения (и раскрашиванием!).

Если вам действительно нужно автодополнение в стиле BASH в командном окне PowerShell, получитеPSReadline:

https://github.com/lzybkr/PSReadLine

Существует более старый, менее популярный и неподдерживаемый проект, также называемый PSReadline: http://nivot.org/nivot2/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30.aspx http://nivot.org/blog/post/2012/09/12/Эмулирование-Bash-GNU-Readline-с-PowerShell-30

Связанный контент