Atalho único para encaminhar a pesquisa após a pesquisa reversa Ctrl-R

13

Eu uso Ctrl+ Ro tempo todo, mas muitas vezes acabo passando o comando que estou procurando, pressionando-o tão rapidamente.

Para encaminhar a pesquisa, Ctrl+ Spode ser usado desde que não seja utilizado o terminal primeiro (konsole no meu caso, em que stty -ixonem ~/.bashrccorreções de TI).

No entanto, tenho que pressionar duas vezes: uma vez que parece entrar i-searchdepois de entrar no reverse-i-searchmodo e uma segunda vez para realmente retroceder.

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

jozxyqk
fonte
3
Como no Ctrl-R, o primeiro Ctrl-S aguarda a busca de uma string. O segundo reutiliza a mesma string de pesquisa usada anteriormente (com Ctrl-R na sua situação). Não conheço nenhuma maneira de evitar esses dois passos. readlinenão possui a função "pesquisar a mesma string ao contrário".
Xhienne 25/03

Respostas:

11

Aqui está uma abordagem diferente. Se você se sente confortável com alguns comandos básicos de edição vi, o bash suporta um modo vi para edição de linha de comando. Se você realmente odeia o vi, não vai gostar disso. Mas, se você puder tolerar, pode ser 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 sequência de pesquisa
  • Enter realizar pesquisa
  • n para ir para a próxima partida
  • N para voltar à partida anterior
  • i para voltar ao modo de inserção
  • Enter executar comando
MikeLRoy
fonte
Os equivalentes de vi de estilo para Ctrl-R e S são Ctrl- ne N, respectivamente. E eles não precisam tocar duas vezes. Intrigante!
Nathaniel M. Beaver
2

Aparentemente, a pesquisa no histórico do Bash exige uma primeira pressão do atalho para que você saiba em qual direção está pesquisando; depois, uma segunda pressão para realmente executar 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 avançadas de pesquisa para visualizar, navegar, pesquisar e gerenciar com facilidade o histórico de comandos:

insira a descrição da imagem aqui

dr01
fonte