Conclusão da guia de nome de arquivo rotativo e não rotativo com o PowerShell


8

No Windows, usando o PowerShell, é possível fazer a sugestão de nome de arquivo (usando a Tabchave) funcionar como no bash no Linux?

Vamos supor que um diretório contém 3 diretórios: example1, examplee examination.

No Windows (por padrão), se você digitar cd exe Tab, será sugerido automaticamente cd .\examination. Os usos subsequentes de Tabalternarão a sugestão entre example1, examplee examination.

Usando bash (tipicamente sob Linux), se você digitar cd exe Tab, ele irá auto-complete até que o caractere onde os nomes de arquivos começam a divergir: cd exam. Outro uso Tabsugere os diretórios disponíveis:

$ cd exam
examination/ example1/    example2/

Então, se você digitar pe Tab, ele será preenchido automaticamente para examplee assim por diante (aqui, oferecendo uma opção entre example1e example2).

Existe uma maneira de fazer a sugestão de nome de arquivo funcionar em uma pesquisa semelhante a uma árvore como esta, em vez de alternar entre os nomes?

(Estou interessado principalmente em nomes de arquivos. O Bash também pode refinar essa seleção com base no tipo de arquivo, por exemplo, apenas diretórios para cd, o que seria bom, mas ter a seleção do nome do arquivo em si seria suficiente.)


Respostas:


5

O comportamento de conclusão padrão é o resultado do uso da janela de comando, que lida com a entrada do teclado.

A partir do PowerShell v3, vale a pena considerar o ISE como um shell em tempo integral e possui um comportamento de conclusão moderno (e colorização!).

Se você realmente deseja a conclusão no estilo BASH em uma janela de comando do PowerShell, obtenha o PSReadline :

https://github.com/lzybkr/PSReadLine

Há um projeto mais antigo, com menos recursos e sem manutenção, também chamado PSReadline aqui: http://nivot.org/nivot2/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30.aspx http : //nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.