Como exibir caracteres Unicode UTF-8 no VIM

13

Estou usando o VIM 7.4 em uma máquina Ubuntu 14.04 de 64 bits. No meu arquivo .vimrc, tenho as seguintes linhas:

" Use UTF-8 without BOM
set encoding=utf-8 nobomb

O configarquivo basicamente usa caracteres Unicode para exibir espaços em branco como guias, novas linhas, etc. O arquivo .vimrc completa é tomada a partir de Paul irlandesas dotfiles .

Em uma instalação anterior do 14.04, bem como em distribuições anteriores, eu pude ver os caracteres unicode sem problemas, mas não com este.

Eu também tentei:

 set fileencodngs=utf-8

Mas, a configuração acima não tem efeito e ainda vejo caracteres ilegíveis na tela. Existe alguma maneira de contornar isso?

Vivek Pradhan
fonte
1
Você pode fornecer um link para um arquivo de exemplo que lhe parece ilegível? E você pode incluir uma captura de tela do que está vendo no vim? Qual é o valor da fencvariável depois de abrir um arquivo?
Mike Miller

Respostas:

16

Se sua localidade atual estiver em uma codificação utf-8 , o Vim iniciará automaticamente no modo utf-8.

Se você estiver usando outro código de idioma, defina abaixo no seu ~/.vimrcarquivo de usuário :

set encoding=utf-8

Você também pode selecionar a fonte usada para os menus . Infelizmente, isso nem sempre funciona.

Além disso, você tem essa opção para forçar a codificação :set fileencodings=utf-8. Você pode encontrar a documentação aqui

Outra solução é: No modo de inserção, pressione Ctrl-R ="\xe2\x82\xa9" Enter para inserir diretamente caracteres UTF-8 usando sua Codificação Hex.

a \xe2\x82\xa9 é Hex Codificação de (o símbolo da moeda para a Coreia do Norte) personagem.

ref: documentação do Vim

Nota: Se você fez a configuração acima, mas ainda não conseguiu ver bem os caracteres Unicode ou digitar, verifique sua configuração de Terminal ou Console se Character encoding definida como UTF-8.

Leia também Caracteres especiais no Vim .

αғsнιη
fonte
1
Isso também resolveu o problema de não poder inserir caracteres chineses para mim.
Zelphir Kaltstahl,
Alguém poderia expandir o que C-R ="\xe2\x82\xa9" <enter>faz?
user1717828
@ ussr1717828 é a forma de codificação UTF-8 (o símbolo da moeda da Coréia do Norte) e permite que o usuário digite literalmente literalmente usando sua codificação UTF-8 Hex com Ctrl+R="..."- Enter.
αғsнιη