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


14

É possível configurar o modo bash vi para que, inicialmente, ele esteja no modo de comando e não no modo de inserção ? Acho que tenho que pressionar Escdemais. Parece que existe a possibilidade de especificar isso no zsh, mas não encontrei uma maneira de fazer isso no bash / readline.

Respostas:


2

Eu não acho que é possível usar a biblioteca GNU Readline padrão .

No entanto, você pode usar o xdotool para um simples hack para obter o mesmo efeito. Anexar um comando ao seu .bashrcque simule um Escapepressionamento de tecla garantiria que seu termo fosse aberto no modo de comando:

xdotool key Escape

Você pode usar um pequeno atraso, com a --delaychave, para impedir que ela ative sua solicitação ...

Observe que é provável que isso introduza mais frustração do que o esperado: os terminais são projetados para aceitar entradas; quebrar isso (embora apenas um pouco) pode não ser uma boa idéia ...


1

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


Mude seu PS1prompt:

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

Onde ^[é uma fuga literal ( Ctrl+ V Esc).

O escape por si só no meio muda para o modo de comando, o ^[[se ^[[uescapa armazena e restaura a posição do cursor; sem isso, descobri que havia algum comportamento engraçado.


1

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


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.