8

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

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

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

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

$ cd exam
examination/ example1/    example2/

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

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

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

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .