Por que as combinações de teclas vi do Raspberry Pi são tão peculiares?

18

Você já reparou que as combinações de viteclas padrão no Raspberry Pisão um pouco malucas? Por exemplo, enquanto estiver no modo de inserção, tente usar as teclas de seta para navegar. Não está acontecendo :)

Essa é uma maneira sutil de nos fazer usar o modo de inserção e comando corretamente ou talvez as ligações tenham sido negligenciadas quando a imagem foi criada?

Estou bastante acostumado a um certo mapeamento de teclas no Fedora / Debian que permite o uso de teclas de navegação no modo de inserção. Para obter as ligações familiares às quais estou acostumado, preciso mexer na emulação de terminal ou em algum tipo de arquivo de configuração em algum lugar?

Brad Hein
fonte
6
Espero que seja porque você está acostumado vime o que está experimentando agora é realmente vi. Nas distribuições modernas, o vicomando geralmente é syslinked vim.
Jivings
Isso é através do ssh? Você pode precisar de até mesmo tentar stty sanee definindo a variável TERM ( export TERM=linuxgeralmente é mais fácil para eu me lembro)
Drake Clarris
Qual versão? O mais recente (versão de outubro) parece OK, pelo menos no ssh.
Ergosys 21/12/12

Respostas:

19

O pacote padrão é vim-tiny. Você pode instalar uma versão mais familiar:

sudo apt-get install vim

Configuração e personalização extras podem ser colocadas no .vimrcarquivo em seu diretório pessoal.

Bert
fonte
Obrigado parceiro! Apenas quando eu pensei que não havia mais esperança, você salvou o dia :)
Brad Hein
1

Eu também tive esse problema ao fazer login como usuário root, mas não como usuário pi. Também instalei o vim com:

apt-get install vim

Isso não resolveu sozinho, mas um pouco de escavação e descobri que havia algumas diferenças de variáveis ​​de ambiente. Consegui obter meu feliz comportamento vi de poder me movimentar com as teclas do cursor, mesmo no modo de inserção, simplesmente alterando o arquivo /root/.profile para ler da seguinte maneira:

if [ -n "$BASH_VERSION" ]; then
  if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
  fi
fi

if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi
Tyler B
fonte
0

Remova e limpe o vim-tiny antes de instalar o vim. Funcionará como esperado depois disso.

user17506
fonte
Teve que fazer isso também. O vim-tiny e o vim parecem depender de diferentes versões do vim-common e isso me impede de instalar os dois.
qznc