如何在VIM或Gvim中查看UTF-8字符

时间:2011-03-02 11:11:32

标签: vim

我不时处理涉及非英语脚本的网页,其中大多数使用utf-8字符集,VIM和Gvim不能正确显示UTF-8字符。

在Windows 7 64位上使用VIM 7.3.46,在_vimrc中使用set guifont=Monaco:h10

有没有办法解决这个问题?

更新:我搜索了一下,发现set guifontwide是区域语言的第二个后备。

我在_vimrc中添加了以下几行,我的大部分问题都得到了解决。

set enc=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf8,prc
set guifont=Monaco:h11
set guifontwide=NSimsun:h12

以上NSimsun字体适用于中文,问题是我不知道他们如何获得与VIM一起使用的字体名称,Courier New被称为Courier_NewNSimsun也是在字体目录中无处可去。我想使用的字体是Latha但是,我不知道如何在_vimrc文件中使用它。 set guifontwide=latha:h12set guifontwide=Latha:h12不起作用。

如果我成功将guifontwide设置为latha,那么我的问题就会解决,怎么办?

9 个答案:

答案 0 :(得分:56)

尝试使用以下方法重新加载文档:

:e! ++enc=utf8

如果可行,您应该更改.vimrc中的fileencodings设置。

答案 1 :(得分:50)

你试过吗

:set encoding=utf-8
:set fileencoding=utf-8

答案 2 :(得分:6)

在M $ Windows上,gvim不允许您选择非等宽字体。不幸的是,Latha是一种非等宽字体。

有一种破解方法可以实现:使用FontForge(您可以从http://www.geocities.jp/meir000/fontforge/下载Windows二进制文件)来编辑Latha.ttf并将其标记为等宽字体。这样做:

  1. 加载fontforge,选择latha.ttf。
  2. 菜单:元素 - >字体信息
  3. 从“字体信息”对话框的左侧列表中选择“OS / 2”
  4. 选择“Panose”标签
  5. 设置比例=等宽
  6. 保存此字体的新TTF版本,试一试!
  7. 祝你好运!

答案 3 :(得分:3)

如果日本人来到这里,请在~/.vimrc

中添加以下内容
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac

答案 4 :(得分:2)

这个问题同时解决了吗?

我遇到的问题是gvim没有显示所有 unicode字符(但只有一个子集,包括变音字符和重音字符),而:set guifont?为空;见my question。在这里阅读之后,将guifont设置为合理的值可以为我修复它。但是,我不需要超过2个字节的字符。

答案 5 :(得分:2)

我无法获得我安装的任何其他字体以显示在我的Windows GVim编辑器中,所以我只是切换到Lucida Console,它至少有一些更好的UTF-8支持。将其添加到_vimrc

的末尾
" For making everything utf-8
set enc=utf-8
set guifont=Lucida_Console:h9:cANSI
set guifontwide=Lucida_Console:h12

现在我看到至少一些UTF-8字符。

答案 6 :(得分:1)

在Windows gvim上,只需选择“ Lucida Console”字体。

答案 7 :(得分:1)

在Linux中,打开VIM配置文件

$ sudo -H gedit /etc/vim/vimrc

添加了以下几行:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

保存并退出,以及终端命令:

$ source /etc/vim/vimrc

这时VIM将正确显示中文。

答案 8 :(得分:0)

这项工作对我来说不需要更改任何配置文件

vim --cmd "set encoding=utf8" --cmd "set fileencoding=utf8" fileToOpen