2009-12-17 111 views
3

我想知道如何设置VIM 7.0以显示和使用ASCII扩展字符而没有问题。Vim和ASCII扩展字符?

+0

定义“ASCII扩展字符”。另外,哪个'vi'? 'vim'? – 2009-12-17 12:08:44

+1

我的vi *确实*显示和使用ASCII扩展字符没有问题,我没有改变任何东西。您需要更具体地了解您的配置。你使用的是什么语言环境?您的终端使用哪种编码?当您尝试在vi中输入扩展器字符时会发生什么? – Heinzi 2009-12-17 12:13:34

+0

我只能看到7位Ascii字符。使用VIM 7.0。终端默认使用latin1编码,并显示?为扩展字符。设置为utf-8时,这些字符变为,等。 谢谢! – marc 2009-12-17 16:18:58

回答

4

Vim(这是vi在大多数系统上解决的问题)很容易支持扩展字符集。不过,您可能需要告诉Vim 哪些编码要使用。

这是由两个选项控制:

:set encoding 
:set fileencoding 

如果您装入显示不正确的文件时,您可以使用:set encoding=<new encoding>迫使适当的编码。这改变了对动态角色的解释。如果您想以另一种编码保存文件保留当前对字符的解释,请使用set fileencoding=<new encoding>让Vim以该编码保存文件。

我建议您将utf-8设置为.vimrc中的默认编码。

+0

感谢Konrad,我按照您的评论做了这样的工作,让VIM变得更加流畅。然而,在将编码设置为utf-8时,字符将变为,,等。我已阅读关于设置guifont的内容,但在尝试设置它时,我收到了不支持的消息。我正在使用VIM 7.0。谢谢! – marc 2009-12-17 16:23:16

3

一旦字符被“扩展”,它就不再是ASCII了。

但是:只要使用vim。 “:帮助unicode”了解更多详情。

0

我建议你尝试以下方法:

  • 设置终端为UTF-8(如何做到这一点取决于你的终端上;在腻子这是在Window /翻译菜单)

  • 将您的语言环境设置为utf-8(如何做到这一点取决于您的操作系统;在我的Debian框中,当前会话为set LC_ALL=en_GB.UTF-8,永久系统范围的更改为sudo dpkg-reconfigure locales) - 您可以使用locale查看当前语言环境。

这就是它对我的工作原理(使用VIM 7.1.314和没有.vimrc)。

0

这里的其他解决方案并不适合我。 Vim告诉我,encodingfileencoding不支持选项。原来,这是因为我自己从源码开始构建,而且我没有包含多字节功能。我的两台Mac电脑是相似的,但其中一台默认启用,另一台则没有启用。

如果你像我一样从源代码构建Vim,请在./configure的参数中包含--enable-multibyte。在我的情况下,Vim默认为UTF-8,并支持扩展字符。