Vim: Как обрабатывать файлы Unicode с текстом на нескольких (более двух) языках?


9

Какие настройки мне нужно установить в Vim / gVim, чтобы можно было просматривать текстовые файлы Unicode, содержащие текст на многих языках?

Вы можете сделать следующие предположения:

  • Количество языков больше двух.
  • Некоторые из языков - китайский, японский и корейский.
  • Достаточно, если я могу просмотреть эти файлы в gVim (не обязательно Vim).
  • gVim 7.0 работает на Windows.

Вот пример текста, который при сохранении в Unicode открывается нормально в Блокноте, но в gVim отображается как бред:

This is English.
这是中文。
これは日本です。
한국입니다.
ಇದು ಕನ್ನಡ.

Jerryjvl: Кажется, есть поддержка Unicode в GViM. Мне не удалось включить его для работы с> 2 языками. vim.org/htmldoc/mbyte.html
Эшвин Нанджаппа

3
Ваш пример прекрасно работает при вставке в gvim в Linux. Предложить обновление ОС :-D
derobert

Ответы:


7

Используя gVim в Windows, я сделал две вещи:

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

Вторая команда вызывает средство выбора шрифта. Выбрав шрифт "@MS Mincho", я получил некоторые японские символы для отображения, но, как ни странно, они были повернуты на 90 градусов влево.

В любом случае вам придется установить кодировку перед загрузкой или вставкой текста в gVim (в противном случае он может просто преобразовать их во все знаки вопроса). Затем вам нужно будет найти шрифт, который (а) имеет фиксированную ширину и (б) содержит символы, которые вы хотите видеть. В данный момент у меня нет такого шрифта в моей системе, но вы можете.


То же самое верно для любой ОС: вам нужен vim, чтобы использовать правильную кодировку И правильный шрифт для отображения глифов шрифта. Итак, отметьте ответ Грега «принято» :)
Акира

Спасибо Грег! Таким образом, устанавливая кодировку как UTF-8, мы позволяем GViM понимать смысл байтов, которые он читает, но, к сожалению, он не может отображать все эти языки, используя один шрифт фиксированной ширины, следовательно, отображается бред.
Эшвин Нанджаппа

0

Использование следующих настроек в вашем .vimrc может работать для вас. Это сработало для меня для китайских / японских иероглифов.
:set encoding=utf-8
:set guifont=*
:set guifontwide=*


Вы также можете попробовать следующее: :set fileencoding=utf-8 :set fileencodings=ucs-bom,utf-8,latin1 :set *encoding=utf-8
GuruM

0

Шрифт Arial Unicode MS поддерживает японский, китайский и корейский, а также вьетнамский и арабский языки. Вы можете попробовать использовать этот шрифт, хотя я не верю, что он моноширинный.

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

Там могут быть другие пан-языковые шрифты, возможно, моноширинные, но я их не знаю.

редактировать

Я нашел эту страницу с несколькими шрифтами, которые поддерживают все три языка. Некоторые из них доступны для бесплатного скачивания: http://www.wazu.jp/gallery/Fonts_Japanese.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.