No modo Bash Vi, eu sou jogado no modo Insert automaticamente após pressionar uma tecla

6

Estou usando o shell bash com o terminal XFCE4. Eu configurei o shell para que ele esteja no modo Vi.

Eu fiz isso adicionando a seguinte linha no meu arquivo ~ / .bashrc:

set -o vi

Quando em um shell no modo normal, o primeiro caractere que pressiono é inserido no modo normal, mas depois eu sou lançado no modo de inserção.

ou seja:

Estou no modo normal. Se eu pressionar b, vou voltar uma palavra e cair no modo de inserção.

Se eu pressionar bb, eu voltarei com uma palavra, entrarei no modo de inserção e depois insiro o caractere b.

Outro exemplo, se eu pressionar dd, o primeiro d será capturado pelo Modo Normal, então eu irei para o Modo de Inserção onde o segundo d será inserido.

Se eu inserir manualmente set -o vi no shell (seja no meu .bashrc ou não), não obtenho esse comportamento e, em vez disso, obtenho o comportamento normal. Eu sei que a mudança no meu .bashrc está sendo lido porque não estou no modo Emacs.

Estou usando a bash 4.2.45 (1) -release.

Aqui está o conteúdo completo do meu .bashrc:

  PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
  PATH=$PATH:/home/bleakcabal/.rvm/gems/ruby-2.0.0-p247/bin
  set -o vi
    
por Gilles 06.09.2013 / 03:52

1 resposta

1

Corrigi meu problema depois de ler o comentário do @Patrick

The behavior you're describing is emacs mode.

O que me fez perceber que eu não estava no modo vi. Eu também coloquei o

set -o vi

Linha no meu .bash_profile e agora tudo funciona bem. O que é estranho, porque pelo que eu li, o .bash_profile é usado para shells de login e .bashrc para shells interativos que não são de login e que eu acredito que seja a minha situação.

    
por 07.09.2013 / 22:48