Único atalho para encaminhar pesquisa após pesquisa reversa Ctrl-R

12

Eu uso Ctrl + R o tempo todo, mas muitas vezes acabo passando o comando que estou procurando enquanto o pressiono tão rapidamente.

Para encaminhar a pesquisa, Ctrl + S pode ser usado desde que não seja usado o terminal primeiro (konsole no meu caso, no qual stty -ixon in ~/.bashrc corrige isso.

No entanto, tenho que pressioná-lo duas vezes: uma vez que parece que entra em i-search depois de estar no modo reverse-i-search e uma segunda vez para retroceder de fato.

Existe uma maneira de remover a necessidade de pressionar o atalho duas vezes?

    
por jozxyqk 24.03.2017 / 21:43

2 respostas

7

Aqui está uma abordagem diferente. Se você estiver confortável com alguns comandos básicos de edição do vi, o bash suporta um modo vi para edição de linha de comando. Se você realmente odeia vi você não vai gostar disso. Mas se você pode tolerar isso, você pode achar que é preferível e com menos pressionamentos de tecla.

set -o vi

A pesquisa de histórico funciona assim:

  • Esc para entrar no modo de comando
  • / para começar a pesquisa
  • Digite o texto da string de pesquisa
  • Enter para realizar pesquisa
  • n para ir para a próxima partida
  • N para voltar ao jogo anterior
  • i para voltar ao modo de inserção
  • Enter para executar o comando
por 27.05.2017 / 23:30
2

Aparentemente, a pesquisa do histórico de Bash exige que você primeiro pressione o atalho para saber em que direção está pesquisando e, em seguida, pressione uma segunda vez para realizar a pesquisa. Eu não acho que é possível mudar a maneira como funciona sem modificar o código-fonte.

No entanto, você pode instalar o hstr (https://github.com/dvorka/hstr) que apresenta uma caixa de sugestões com opções de pesquisa avançada para visualizar, navegar, pesquisar e gerenciar o histórico de comandos com facilidade:

    
por 26.05.2017 / 10:02