comportamentos diferentes do vim

2

Em algumas máquinas Linux, quando uso o vim, posso usar bem os botões PageDown, PageUp, Home, End sem nenhum problema. No entanto, em algumas outras máquinas, esses botões me dão personagens divertidos.

Por que isso e o que posso fazer?

Obrigado!

    
por CodeNoob 19.07.2012 / 20:16

2 respostas

0

Eu suponho que você esteja executando o vim em um terminal em vez da versão da GUI, gvim.

Diferentes terminais enviam diferentes caracteres ou sequências de caracteres para os aplicativos executados neles quando o usuário digita uma tecla de movimento, como PageDown. Para determinar o conjunto de caracteres ou seqüências de caracteres que o terminal atual está enviando para representar essas chaves, o Vim consulta o banco de dados terminfo. Ele usa a variável de ambiente TERM para determinar o tipo do terminal atual, depois acessa as definições terminográficas das chaves usadas por esse terminal.

Se as definições de chave para o valor atual de TERM corresponderem aos recursos do seu terminal atual, tudo funcionará bem. Se o valor de TERM estiver incorreto para o seu terminal, ou se o banco de dados terminfo estiver incompleto ou faltando, o Vim não saberá interpretar os caracteres ou seqüências de caracteres enviados pelo seu terminal para que ele simplesmente insira os caracteres em seu texto ou interprete-os como comandos do Vim.

A causa mais provável do problema é que o TERM não está configurado corretamente para o terminal que você está usando. A solução mais simples é descobrir que tipo de terminal você está usando, encontrar o nome terminfo para ele em / usr / share / terminfo ou / usr / lib / terminfo e colocar uma linha como essa em seu arquivo ~ / .bashrc:

export TERM=thetermifoname

Por exemplo,

export TERM=xterm
    
por 19.07.2012 / 20:58
0

Meu primeiro palpite é que em algumas máquinas Linux, você está rodando no modo "nocompatível" que permite muitos recursos extra do Vim, incluindo as teclas de seta e coisas do tipo, mas aquelas onde as teclas não funcionam não.

O Vim entra automaticamente no modo "nocompatible" quando você tem um ~ / .vimrc, mas algumas distribuições instalam um sistema vimrc que define a opção 'nocompatible', mesmo sem um ~ / .vimrc.

Veja:

:help 'nocompatible'

(com as aspas simples.)

    
por 19.07.2012 / 21:12

Tags