Jak wyświetlić znaki Unicode UTF-8 w VIM

13

Korzystam z VIM 7.4 na 64-bitowym komputerze Ubuntu 14.04. W moim pliku .vimrc mam następujące wiersze:

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

configPlik zasadzie wykorzystuje znak Unicode do wyświetlania spacji jak zakładek, nowych linii itp Kompletny plik .vimrc jest przenoszony z Paula irlandzkiego dotfiles .

Na wcześniejszej instalacji 14.04, a także we wcześniejszych dystrybucjach, widziałem znaki Unicode bez żadnych problemów, ale nie z tym.

Próbowałem także:

 set fileencodngs=utf-8

Ale powyższe ustawienie nie działa i nadal widzę zniekształcone postacie na ekranie. Czy jest na to jakiś sposób?

Vivek Pradhan
źródło
1
Czy możesz podać link do przykładowego pliku, który wygląda na zniekształcony? Czy możesz dołączyć zrzut ekranu z tego, co widzisz w vimie? Jaka jest wartość fenczmiennej po otwarciu pliku?
Mike Miller,

Odpowiedzi:

16

Jeśli twoje obecne ustawienia regionalne są w kodowaniu utf-8 , Vim automatycznie uruchomi się w trybie utf-8.

Jeśli używasz innych ustawień regionalnych, ustaw poniżej w ~/.vimrcpliku użytkownika :

set encoding=utf-8

Możesz także wybrać czcionkę używaną w menu . Niestety nie zawsze to działa.

Masz również opcję wymuszenia kodowania :set fileencodings=utf-8. Dokumentację można znaleźć tutaj

innym rozwiązaniem jest: W trybie wstawiania naciśnij Ctrl- R ="\xe2\x82\xa9" Enterw celu bezpośredniego wprowadzenia znaków UTF-8 przy użyciu ich kodowania szesnastkowego.

\xe2\x82\xa9jest Hex Kodowanie (symbol waluty dla Korei Północnej) charakteru.

ref: dokumentacja Vima

Uwaga: Jeśli wykonałeś powyższą konfigurację, ale nadal nie widziałeś dobrze znaków Unicode lub nie wpisałeś, sprawdź konfigurację Terminalu lub Konsoli, jeśli Character encodingzostała ustawiona na UTF-8.

Przeczytaj także Znaki specjalne w Vimie .

αғsнιη
źródło
1
Rozwiązało to również problem braku możliwości wprowadzania chińskich znaków dla mnie.
Zelphir Kaltstahl
Czy ktoś mógłby rozwinąć to, co C-R ="\xe2\x82\xa9" <enter>robi?
user1717828
@ ussr1717828 to forma kodowania UTF-8 (symbol waluty dla Korei Północnej), która pozwala użytkownikowi bezpośrednio pisać literalnie za pomocą kodowania szesnastkowego UTF-8 z Ctrl+R="..."- Enter.
αғsнιη