bug na edição vim, causada por tabulação ou diacríticos?

1

Eu tenho a seguinte linha em um arquivo (observe a guia no começo):

    $q = "select pl.id, pl.pltag tag, tf.nome família, tg.nome Gênero, ts.nome espécie, l.nome localidade

Quando eu tento editá-lo, digamos, substitua Gênero por gênero, eu movo o cursor para "G", mudo Insert to Replace (pressionando a tecla insert novamente) e, em seguida, digitando "g" sobre ele. Parece que funcionou, mas quando eu paro e salvo, descubro que o arquivo agora tem:

tg.nomeGgênero

Parece que a primeira aba está confundindo o Vim? Ou talvez os diacríticos usados na língua portuguesa (aceitos pelo Postgresql)? Estou usando terminal no Ubuntu Desktop 14.04, conectado por ssh a outra máquina com o Ubuntu Server 14.04, onde estou editando o arquivo.

Embora o Vim não diga nada sobre o local, o psql diz o seguinte:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LC_PAPER = "pt_BR.UTF-8",
    LC_ADDRESS = "pt_BR.UTF-8",
    LC_MONETARY = "pt_BR.UTF-8",
    LC_NUMERIC = "pt_BR.UTF-8",
    LC_TELEPHONE = "pt_BR.UTF-8",
    LC_IDENTIFICATION = "pt_BR.UTF-8",
    LC_MEASUREMENT = "pt_BR.UTF-8",
    LC_TIME = "pt_BR.UTF-8",
    LC_NAME = "pt_BR.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Talvez LC_ALL = (unset) seja a fonte do problema?

A saída de stty -a , conforme solicitado nos comentários:

(minha máquina)

speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

(servidor)

speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
    
por Rodrigo 05.01.2016 / 16:45

0 respostas

Tags