Vim: Jak obsługiwać pliki Unicode z tekstem w wielu (więcej niż dwóch) językach?

9

Jakie ustawienia muszę ustawić w Vim / gVim, aby móc wyświetlać pliki tekstowe Unicode zawierające tekst w wielu językach?

Możesz przyjąć następujące założenia:

  • Liczba języków jest większa niż dwa.
  • Niektóre języki to chiński, japoński i koreański.
  • Wystarczy, że mogę przeglądać te pliki w gVimie (niekoniecznie Vimie).
  • gVim 7.0 działający w systemie Windows.

Oto przykładowy tekst, który po zapisaniu w Unicode otwiera się dobrze w Notatniku, ale w gVim pokazuje się jako bełkot:

This is English.
这是中文。
これは日本です。
한국입니다.
ಇದು ಕನ್ನಡ.
Ashwin Nanjappa
źródło
Jerryjvl: Wydaje się, że w GViM jest obsługa Unicode. Nie udało mi się umożliwić pracy z> 2 językami. vim.org/htmldoc/mbyte.html
Ashwin Nanjappa
3
Twój przykład działa dobrze po wklejeniu do gvima w systemie Linux. Zaproponuj aktualizację systemu operacyjnego :-D
derobert

Odpowiedzi:

7

Korzystając z gVim w systemie Windows, zrobiłem dwie rzeczy:

:set encoding=utf-8
:set guifont=*

Drugie polecenie wywołuje próbnik czcionek. Wybierając czcionkę „@MS Mincho”, udało mi się wyświetlić niektóre japońskie znaki, ale dziwnie zostały one obrócone o 90 stopni w lewo.

W każdym razie musisz ustawić kodowanie przed załadowaniem lub wklejeniem tekstu do gVim (w przeciwnym razie może po prostu przekonwertować je na wszystkie znaki zapytania). Następnie musisz znaleźć czcionkę o (a) stałej szerokości, a (b) zawiera znaki, które chcesz zobaczyć. W tej chwili nie mam takiej czcionki, ale możesz.

Greg Hewgill
źródło
to samo dotyczy każdego systemu operacyjnego: potrzebujesz vima, aby użyć właściwego kodowania ORAZ właściwej czcionki, aby wyświetlić glify czcionki. więc zaznacz odpowiedź grega „zaakceptowano” :)
akira
Dzięki Greg! Tak więc, ustawiając kodowanie na UTF-8, umożliwiamy GViM odczytanie bajtów, które czyta, ale niestety nie może wyświetlić wszystkich tych języków przy użyciu jednej czcionki o stałej szerokości, dlatego wyświetlany jest bełkot.
Ashwin Nanjappa,
0

Korzystanie z następujących ustawień w .vimrc może działać dla Ciebie. To działało dla mnie dla chińskich / japońskich znaków.
:set encoding=utf-8
:set guifont=*
:set guifontwide=*

GuruM
źródło
Możesz także spróbować wykonać następujące czynności: :set fileencoding=utf-8 :set fileencodings=ucs-bom,utf-8,latin1 :set *encoding=utf-8
GuruM
0

Czcionka Arial Unicode MS obsługuje japoński, chiński i koreański, a także wietnamski i arabski. Możesz spróbować użyć tej czcionki, choć nie sądzę, aby była monospacowa.

http://www.microsoft.com/typography/fonts/font.aspx?FMID=1081

Mogą istnieć inne czcionki w języku ojczystym, być może również o stałej szerokości, ale nie znam ich.

edytować

Znalazłem tę stronę z kilkoma czcionkami, które obsługują wszystkie trzy języki. Niektóre z nich są dostępne do pobrania za darmo: http://www.wazu.jp/gallery/Fonts_Japanese.html

meskarune
źródło