Vim:如何处理具有多种(两种以上)语言文本的Unicode文件?


9

我需要在Vim / gVim中设置哪些设置才能查看包含多种语言文本的Unicode文本文件?

您可以做出以下假设:

  • 语言数量超过两种。
  • 一些语言是中文,日文和韩文。
  • 如果可以在gVim中查看这些文件(不一定是Vim)就足够了。
  • 在Windows上运行的gVim 7.0。

这是一个文本示例,将其保存为Unicode时可以在记事本中很好地打开,但在gVim中显示为乱码:

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

Jerryjvl:GViM中似乎有Unicode支持。我无法使其启用> 2种语言。vim.org/htmldoc/mbyte.html
Ashwin Nanjappa,2009年

3
当您的示例粘贴到Linux上的gvim时,效果很好。建议升级OS :-D
derobert

Answers:


7

在Windows上使用gVim,我做了以下两件事:

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

第二个命令调出字体选择器。通过选择字体“ @MS Mincho”,我可以显示一些日语字符,但是奇怪的是它们向左旋转了90度。

无论如何,您必须在将文本加载或粘贴到gVim中之前设置编码(否则可能会将它们转换为所有问号)。然后,您必须找到一种字体,该字体是(a)固定宽度,并且(b)包含要查看的字符。我的系统上目前似乎没有这样的字体,但是您可以。


任何操作系统都一样:您需要vim使用正确的编码和正确的字体来显示字体的字形。因此,请标记greg的回答为“接受” :)
akira

谢谢格雷格!因此,通过将编码设置为UTF-8,我们使GViM能够读取正在读取的字节,但是遗憾的是,它无法使用单个固定宽度的字体显示所有这些语言,因此显示乱码。
Ashwin Nanjappa,

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.