História parecida a Vim em bash?

4

No bash, é possível percorrer o histórico de comandos usando as teclas para cima e para baixo. No vim, isso também é possível (depois de pressionar : ). Mas com o vim, se você digitar as primeiras letras de um comando anterior, o ciclo up / down somente através de comandos que começam com essas letras . Isso seria extremamente útil no bash, especialmente simples para comandos como cd e vim em si. Existe uma maneira de obter esse comportamento no bash?

Estou ciente da função de pesquisa de histórico no bash, mas não é tão fácil e rápido de usar.

    
por naught101 23.10.2012 / 02:49

2 respostas

4

Aqui está uma maneira de configurar history-search-backward e history-search-forward :

Passo 1:

Coloque o seguinte no seu arquivo /etc/inputrc :

$if mode=emacs
"\ep": history-search-backward
"\en": history-search-forward
$endif

(Ou simplesmente coloque o seguinte entre a declaração if existente)

"\ep": history-search-backward
"\en": history-search-forward

Passo 2:

Fonte do seu console:

. ~/.bashrc

Passo 3:

Teste. Por exemplo, para pesquisar para trás através de todos os seus comandos vim , digite:

vim Alt + P

E continue pressionando Alt + P , para percorrer todos os seus comandos.

EDITAR:

Esta resposta é um resumo da informação retirada de aqui

    
por 23.10.2012 / 02:55
3

Não é exatamente o que você procura, mas eu sempre uso 'set -o vi' no .bashrc ou .profile.

Para pesquisar o histórico anterior, digite esc (para sair do modo de edição), seguido por uma barra e sua consulta. Em seguida, pressione enter para pesquisar. Você pode usar 'n' ou 'N' para avançar e retroceder nas consultas correspondentes. Se você está acostumado com o vi, isso pode ser uma solução.

Isso significará que a linha de comando se tornará como o vi - por exemplo, o capital 'A' levará você ao final da linha e colocará você no modo de edição. Pode ser útil, mas também pode se tornar confuso se você estiver digitando quando não estiver no modo de edição. Se você não quer isso, outra solução seria melhor.

    
por 23.10.2012 / 15:26