Você pode pesquisar o histórico do bash usando o que você já digitou facilmente.
Suponha que você tenha acabado de digitar curl -I http://superuser.com
e você esqueceu de digitar Ctrl + r primeiro:
$ curl -I http://superuser.com
Se você quiser fazer uma pesquisa no seu histórico, vai para o começo da linha primeiro ( Ctrl + uma ), digite i-search ( Ctrl + r ) e tipo Ctrl + y . Isso deve pesquisar usando o conteúdo de todo o texto que você já digitou:
(reverse-i-search)`curl -I http://superuser.com': curl -I http://superuser.com/faq
Alternativamente, você pode usar Ctrl + W ao invés de Ctrl + y para pesquisar usando apenas a primeira palavra do texto que você acabou de digitar:
(reverse-i-search)`curl': curl -I http://superuser.com/faq
Ligando tudo a uma única chave
Se você quiser fazer tudo isso em um pressionamento de tecla, você pode vincular uma única tecla a uma macro de teclado. Se você quiser usar, digamos, F12 corre:
$ bind '"\e[24~":"\C-a\C-r\C-y"'
Isso durará pela sessão.
Tornando permanente
Basta definir a macro no seu ~/.inputrc
:
"\e[24~":"\C-a\C-r\C-y"
Note que aqui nós omitir aspas simples.
Você pode encontrar esta resposta útil.
c-r
digitandoc-y
não cola nada lá. Se eu digitarc-y
por si só apenas cola o texto, então não posso combinar os dois comandos ..."\C-xr": "\C-a\C-r\C-y"
e funciona muito bem! Obrigado por esta resposta.control+a control+r control+y
coisa! Obrigado esta resposta está sempre aqui! :)Salvar quatro greves:
Evite um segundo
Ctrl-R
adicionando ao seu.bashrc
(ou para o seu.inputrc
se você preferir):Isso mapeará ALT-R para CTR-A CTR-R CTR-Y CTR-R
Descrição:
\C-xr
( CTRL-X CTRL-R )fonte