Vim和ASCII扩展字符?

3
我想了解如何设置VIM 7.0,以便无障碍地显示和使用ASCII扩展字符。

定义“ASCII扩展字符”。此外,指的是哪个vivim - T.J. Crowder
1
我的vi可以正常显示和处理ASCII扩展字符,我没有做任何更改。你需要更具体地说明你的配置。你使用哪个区域设置?你的终端使用哪种编码?当你尝试在vi中输入扩展字符时会发生什么? - Heinzi
我只能显示7位Ascii字符。使用VIM 7.0。终端默认使用latin1编码,并对扩展字符显示“?”号。当将其设置为utf-8时,这些字符变成<e9>、<e1>、<f3>等。谢谢! - marc
4个回答

5

Vim(大多数系统上vi的解析结果)可以轻松支持扩展字符集。不过,您可能需要告诉Vim使用哪种编码。

这由两个选项控制:

:set encoding
:set fileencoding

如果您加载的文件显示有误,可以使用:set encoding=<new encoding>强制使用适当的编码。这会即时改变字符的解释。如果您想在另一种编码下保存文件并保留当前的字符解释,请使用set fileencoding=<new encoding>来让Vim以该编码保存文件。
我建议您在.vimrc中将utf-8设置为默认编码。

谢谢Konrad,我按照你的评论做了,对VIM有了更深入的了解。然而,当将编码设置为utf-8时,字符变成了<e9>,<e1>,<f3>等。我已经阅读了有关设置guifont的文章,但在尝试设置时,我收到了一个不支持的消息。我正在使用VIM 7.0。谢谢! - marc

3
一旦字符被“扩展”,它就不再是ASCII了。然而,只需使用vim即可。有关更多详细信息,请键入“:help unicode”。

1
这里的其他解决方案对我都没有用。Vim告诉我encodingfileencoding不是受支持的选项。原来是因为我自己从源代码构建,但未包括多字节功能。我的两台Mac电脑相似,但其中一台默认启用了它,而另一台则没有。
如果您像我一样从源代码构建Vim,请在./configure的参数中包含--enable-multibyte。在我的情况下,Vim默认为UTF-8,并支持扩展字符。

0
我建议您尝试以下操作:
  • 将终端设置为 utf-8 编码(如何设置取决于您的终端;在 PuTTY 中,它在“窗口/转换”菜单中)

  • 将您的区域设置为 utf-8 编码(如何设置取决于您的操作系统;在我的 Debian 系统中,对于当前会话,可以使用 set LC_ALL=en_GB.UTF-8 命令,对于永久性的系统范围更改,可以使用 sudo dpkg-reconfigure locales 命令)-- 您可以使用 locale 命令检查当前的区域设置。

这是我使用 VIM 7.1.314 和没有 .vimrc 文件的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接