Equivalente ao Ctrl-r do bash no PowerShell

18

alguém sabe de uma maneira de ter o recurso de pesquisa de comando de retorno do bash [Ctrl-r] (e [Ctrl-o] ) que são tão úteis, no windows powershell?

C-r é uma manipulação de histórico arrow up mais poderosa, é como C-r do emacs em que ele pesquisa para trás dentro dos comandos que você inseriu anteriormente. Então C-o executa esse comando e coloca imediatamente na linha o próximo comando depois disso. Para que você possa repetir séries passadas de comandos eficientemente. Também olha para um histórico salvo, não um histórico de sessão. ( ~/.bash_history file). Qual é infinitamente útil.

obrigado.

ps: como um bônus, a conclusão da tabulação não funcionando por ciclos também seria impressionante.

    
por v.oddou 15.11.2013 / 05:03

3 respostas

12

Digite as primeiras letras do comando e pressione F8 .

Alternativamente, você pode pressionar F7 e digitar as primeiras letras.

Mais detalhes: link

    
por 13.12.2014 / 17:48
5

WMF 5.0 RTM , que inclui Windows PowerShell 5 , agora suporta o mesmo recurso de pesquisa de comando inverso de bash% código%. Eu tenho usado isso no Windows 10 Anniversary Edition, e minha memória muscular bash é muito feliz.

O suporte, na verdade, vem do módulo PowerShell PSReadLine , que eu vejo mencionado em alguns dos comentários da questão. O bom é que o PSReadLine agora parece estar incluído na instalação base do WMF 5.0 , pelo menos no Windows 10.

Se você estiver executando o PowerShell 3 ou posterior, também poderá instalar o PSReadLine e obter o recurso de pesquisa de histórico.

Observação: não descobri como fazer isso funcionar no ISE, pois CTRL+R está mapeado para outra coisa (Mostrar / ocultar o painel de script).

    
por 19.12.2016 / 06:03
4

Para manipular seu histórico, você pode usar os cmdlets de histórico, listá-los por este comando:

Get-Command *-history

Pesquisando seu histórico é feito assim, sinta-se à vontade para fazer uma função para encurtá-lo:

Get-history | Select-String "command"

function f ($Name) { Get-history | Select-String $name }
    
por 05.12.2013 / 13:05