É improvável que isso tenha algo a ver com o látex.
Não há códigos de caracteres únicos para teclas de seta; em vez disso, eles enviam sequências de controle. Por exemplo, a tecla de seta para cima normalmente envia ESC [ A
. vi
usa termcap
ou terminfo
(mais provavelmente o último nos dias de hoje) para interpretar essas seqüências, com base no tipo de terminal que você acha que possui, especificado pela variável de ambiente $TERM
. Você pode ver essas seqüências, por exemplo, digitando control-V
seguido de uma seta para cima em um prompt de shell ( control-V
diz para interpretar o próximo caractere literalmente).
Aparentemente, vi
não possui informações suficientes para saber o que ESC [ A
significa.
Há também um conjunto alternativo de códigos; Por exemplo, a seta para cima pode estar enviando ESC O A
. Em xterm
, este modo pode ser alternado através do clique do meio do controle e habilitando ou desabilitando "Chaves do cursor de aplicativo".
Observe também que você pode usar h
, j
, k
e l
para a esquerda, para baixo, para cima e para a direita, respectivamente. Isso pode ser mais fácil de usar do que as teclas de seta quando você se acostumar com isso; você não precisa mover a mão direita para fora da linha inicial do teclado.
Qual é a saída de echo $TERM
, digitada no prompt do shell? Qual emulador de terminal você está usando ( xterm
, etc.)? Qual versão de vi
você está usando ( vim
, alguma outra coisa?) Em que sistema operacional você está? Você está usando o Cygwin?