我想知道如何设置VIM 7.0以显示和使用ASCII扩展字符而没有问题。Vim和ASCII扩展字符?
回答
Vim(这是vi
在大多数系统上解决的问题)很容易支持扩展字符集。不过,您可能需要告诉Vim 哪些编码要使用。
这是由两个选项控制:
:set encoding
:set fileencoding
如果您装入显示不正确的文件时,您可以使用:set encoding=<new encoding>
迫使适当的编码。这改变了对动态角色的解释。如果您想以另一种编码保存文件保留当前对字符的解释,请使用set fileencoding=<new encoding>
让Vim以该编码保存文件。
我建议您将utf-8
设置为.vimrc
中的默认编码。
感谢Konrad,我按照您的评论做了这样的工作,让VIM变得更加流畅。然而,在将编码设置为utf-8时,字符将变为
一旦字符被“扩展”,它就不再是ASCII了。
但是:只要使用vim。 “:帮助unicode”了解更多详情。
我建议你尝试以下方法:
设置终端为UTF-8(如何做到这一点取决于你的终端上;在腻子这是在Window /翻译菜单)
将您的语言环境设置为utf-8(如何做到这一点取决于您的操作系统;在我的Debian框中,当前会话为
set LC_ALL=en_GB.UTF-8
,永久系统范围的更改为sudo dpkg-reconfigure locales
) - 您可以使用locale
查看当前语言环境。
这就是它对我的工作原理(使用VIM 7.1.314和没有.vimrc
)。
这里的其他解决方案并不适合我。 Vim告诉我,encoding
和fileencoding
不支持选项。原来,这是因为我自己从源码开始构建,而且我没有包含多字节功能。我的两台Mac电脑是相似的,但其中一台默认启用,另一台则没有启用。
如果你像我一样从源代码构建Vim,请在./configure
的参数中包含--enable-multibyte
。在我的情况下,Vim默认为UTF-8,并支持扩展字符。
- 1. 扩展ASCII字符转换
- 2. 显示扩展ASCII字符
- 3. Oracle ASCII字符集 - .Net扩展
- 4. HTML中的IBM扩展ASCII字符
- 5. 在C#中扩展的ASCII字符串
- 6. Console.Write() - 显示扩展的ascii字符?
- 7. 创建扩展的ASCII字符InputFilter
- 8. 在Ruby中显示扩展ASCII字符
- 9. 使用AutoHotKey发送扩展ASCII字符
- 10. 将Unicode字符转换为扩展ASCII
- 11. Code :: Blocks中的扩展Ascii字符C++
- 12. Vim的:函数getline和非ASCII字符
- 13. 扩展ASCII
- 14. C:错误的字符为ASCII的转换(从扩展ASCII表字符)
- 15. 8086装配体Int 21h和扩展ASCII字符
- 16. 编码为单字节扩展ASCII值
- 17. Vim脚本:扩展通配符在字符串
- 18. 扩展ascii表的ReadLine和编码
- 19. ANTLR3与扩展的ASCII字符不匹配
- 20. 将二进制字符串反之亦然:扩展ASCII
- 21. 如何使用grep命令计算扩展ASCII字符
- 22. 转换扩展的ASCII字符到Latin1的
- 23. 如何使用Const Char *打印ASCII扩展字符?
- 24. 如何使用PDCurses显示“OEM扩展ASCII”字符?
- 25. 扩展ASCII字符串转换为十六进制格式
- 26. 如何从扩展ascii号码获得一个字符
- 27. 搜索并替换字符串中的扩展ASCII
- 28. 通过文件扩展循环,寻找非ASCII字符 - Python
- 29. 正则表达式来限制扩展的ASCII字符集
- 30. 在Code 128条形码中编码扩展的ASCII字符
定义“ASCII扩展字符”。另外,哪个'vi'? 'vim'? – 2009-12-17 12:08:44
我的vi *确实*显示和使用ASCII扩展字符没有问题,我没有改变任何东西。您需要更具体地了解您的配置。你使用的是什么语言环境?您的终端使用哪种编码?当您尝试在vi中输入扩展器字符时会发生什么? – Heinzi 2009-12-17 12:13:34
我只能看到7位Ascii字符。使用VIM 7.0。终端默认使用latin1编码,并显示?为扩展字符。设置为utf-8时,这些字符变为,,等。 谢谢! –
marc
2009-12-17 16:18:58