problema ao editar o arquivo de texto utf8 com o vim

2

Eu tenho um problema ao editar um arquivo html em um servidor via vim . O arquivo é utf-8 codificado.

Durante a edição com vim (v7.3, sem plug-ins ativos), posso ver os tremas e editar e salvar uma linha antes que o trema esteja ok. Mas se eu editar depois do trema, parece que o trema consome dois caracteres enquanto apenas um caractere é visível e todas as edições são alteradas. Só consigo ver isso depois de salvar e reabrir o arquivo. E eu posso inserir um trema mas para remover eu tenho que pressionar x duas vezes (o caracter muda enquanto isso).

Não tenho ideia de onde procurar o problema vim , terminal ou ssh connection ?

remoto:

> file index.html
index.html: HTML document, UTF-8 Unicode text
> echo $TERM
xterm-256color
> locale charmap
ANSI_X3.4-1968
> grep CHARMAP /etc/default/console-setup 
CHARMAP="UTF-8"

local:

> locale charmap
UTF-8
    
por Knut 11.04.2016 / 13:20

1 resposta

2

Acontece que os locais do terminal foram configurados de alguma forma errada. Meu .bashrc tinha um export LC_ALL=C .

> locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
...
LC_IDENTIFICATION="C"
LC_ALL=C

Depois de remover LC_ALL=C , obtenho isto:

> locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_GB.UTF-8
...
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=

Vim agora abre o mesmo arquivo com enconding=utf-8 e fileencondig=utf-8 e edição é normal.

Obrigado Murphy e Radovan por alguns ponteiros. Talvez alguém tenha uma explicação para esse problema.

    
por 11.04.2016 / 14:54

Tags