Как прочитать sjis-кодированный файл в vim? - PullRequest
6 голосов
/ 05 ноября 2010

У меня есть html-файл в кодировке shift-JIS (на японском языке), и я не могу прочитать его в vimУстановка enc = cp932 или enc = sjis создает мусор.Файл выглядит хорошо в emacs, так что, я думаю, это специфично для vim.Что я могу сделать, чтобы прочитать это как есть (кроме преобразования его в нормальную кодировку вроде utf-8).

Ответы [ 3 ]

13 голосов
/ 05 ноября 2010

Никогда не следует изменять параметр encoding: он предназначен для внутреннего представления строк и должен изменяться только в том случае, если текущая кодировка не содержит символов, присутствующих в требуемой кодировке. Если вы иногда редактируете файлы с кодировкой sjis, тогда

  1. Убедитесь, что опция fileencodings содержит sjis: поместите что-то подобное в vimrc:

    set fileencodings=ucs-bom,utf-8,sjis,default
    
  2. Если с этой опцией vim по-прежнему не может правильно распознать кодировку файла, откройте файл с помощью e ++enc=sjis /path/to/file. Или, если файл уже открыт, используйте e! ++enc=sjis (без имени файла).
0 голосов
/ 02 марта 2014

Для меня изменение кодировки файла (++ enc =) прекрасно работает в gVim в Ubuntu Linux, но в Windows 7 - нет (все превращается в символы?). Но я обнаружил, что даже не изменяя кодировку файлов (по умолчанию ucs-bom), я мог отображать японские символы, просто изменяя гифонт:

set guifont=MS_Gothic:h9:cSHIFTJIS

Однако ввод японских символов по-прежнему не работает (использование Microsoft IME для ввода японских символов дает символы?).

Просто для сравнения, в Linux мой guifont просто:

guifont=Monospace 10

И дисплей, и ввод (с IBus Anthy IME) работают нормально.

0 голосов
/ 05 ноября 2010

Из справки vim:

There are a few encodings which are similar, but not exactly the same.  Vim
treats them as if they were different encodings, so that conversion will be
done when needed.  You might want to use the similar name to avoid conversion
or when conversion is not possible:

    cp932, shift-jis, sjis
    cp936, euc-cn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...