Configuração do modo Bash vi para o modo de comando padrão

13

É possível configurar o modo bash vi para que, inicialmente, esteja no modo comando em vez do modo inserir ? Eu acho que tenho que pressionar Esc demais. Parece que há possibilidade de especificar isso em zsh, mas não encontrei uma maneira de fazer isso em bash / readline.

    
por Galisperis 11.11.2011 / 09:54

4 respostas

2

Eu não acho que seja possível usar a Biblioteca GNU Readline padrão.

No entanto, você pode usar xdotool para um simples hack para obter o mesmo efeito. Acrescentar um comando ao seu .bashrc que simula um pressionamento de tecla Escape garantiria que seu termo fosse aberto no modo de comando:

xdotool key Escape

Você pode querer usar um pequeno atraso, com a opção --delay , para evitar que o seu prompt seja abafado ...

Observação é provável que isso apresente mais frustração do que o esperado: os terminais foram projetados para aceitar entrada; quebrar isso (embora apenas ligeiramente) pode não ser uma boa ideia ...

    
por 01.12.2011 / 18:34
1

A resposta é não . O arquivo de origem bash relevante é bashline.c

    
por 05.12.2011 / 15:37
0

Eu retiro, isso não funciona com o movimento do cursor. Funciona, mas com o comportamento engraçado, se você tirar isso: PS1="$PS1 ^[

Altere seu prompt PS1 :

PS1="test $ \[^[[s^[^[[u\]"

Onde ^[ é um escape literal ( Ctrl + V Esc ).

O escape por conta própria no meio muda para o modo de comando, o ^[[s e ^[[u escapa do armazenamento e restaura a posição do cursor; sem isso, descobri que havia algum comportamento engraçado.

    
por 05.12.2011 / 17:40
-1

tente set +o vi

set -o vi entrará no modo de edição novamente.

link

    
por 01.12.2011 / 09:32

Tags