Vim中文处理
2012-11-06 11:00
99 查看
应用自:http://linux-wiki.cn/wiki/%E8%AE%A9vim%E8%87%AA%E5%8A%A8%E5%88%A4%E6%96%AD%E4%B8%AD%E6%96%87%E7%BC%96%E7%A0%81
此页由Linux Wiki用户Chenxing于2012年7月13日 (星期五) 00:35的最后更改。 在Wang Minglong的工作基础上。(重定向自让vim自动判断中文编码)
目录[隐藏]1 中文文件编码 1.1 编码自动判断 1.2 指定打开文件使用的编码 1.3 转换文件编码 1.4 原理简介 2 折行与合并行 3 拼写检查 4 相关文档 5 参考资料 |
中文文件编码
Vim可以自动判断文件的编码,自动判断失败时还可手动指定编码。注意:
本文方法对Vim 6.0以前的版本无效。[1]
编码自动判断
编辑~/.vimrc,(最好在其末尾)加入:" 设置新文件的编码为 UTF-8 set fileencoding=utf8 " 自动判断编码时,依次尝试以下编码: set fileencodings=ucs-bom,gb18030,utf-8,default " gb18030 最好在 UTF-8 前面,否则其它编码的文件极可能被误识为 UTF-8
提示:
该设置不会对已有文件的编码产生影响。
指定打开文件使用的编码
如果因为种种原因自动判断编码失败,可手动指定编码。在普通模式下执行如下命令即可:" 限定打开文件时仅使用某种编码,如 UTF-8 :set fileencodings=utf8 " 重新打开文件 :e
转换文件编码
在确保文件打开且无乱码后:" 设置文件编码为新编码 :set fileencoding=utf8 :w 新文件名
原理简介
Vim有自动判断编码的功能,这里主要简单介绍几个变量:encoding屏幕显示的编码,如使用utf-8做locale的系统,encoding就应是utf-8以方便显示fileencodings供vi尝试的编码列表,vi会逐个尝试每一项,如果没有发生错误,就设置当前的fileencoding为与该项相同的值。如果均失败,fileencoding将为空。fileencoding正在被编辑的文件的编码,它也决定新文件的编码。如果为空,表示与encoding相同。如果与encoding不同,vi将会在保存和读取时做二者之间的转换。
折行与合并行
Vim 支持在编辑文本时自动折行,但默认对中文折行的支持并不理想,建议添加如下两个设置:" 如遇Unicode值大于255的文本,不必等到空格再折行。 set formatoptions+=m " 合并两行中文时,不在中间加空格: set formatoptions+=B
拼写检查
TODO:
如何让英文拼写检查忽略中文文本?
相关文档
更多与Vim有关的文档,请参阅分类 Vi/Vim编辑器。参考资料
↑ Vim documentation: options2个分类: 中文编码与乱码问题 | Vi/Vim编辑器
相关文章推荐
- Fedora17处理vim打开中文乱码
- Vim 中文乱码处理过程整理
- 处理SecureCRT中使用vim出现中文乱码问题
- 处理SecureCRT中使用vim出现中文乱码问题
- 处理SecureCRT中使用vim出现中文乱码的问题
- 处理Ubuntu VIM 查抄中文编码文档表现乱码的办法
- windows下vim中文乱码处理
- vi/vim显示中文字符并且去掉^M的方法
- mac vim处理dos换行符^M
- 关于js中用base64编码处理中文的问题
- 注入过程中的中文处理方法
- Java 代理模式-JDK动态代理-实现对请求中文乱码的处理
- 2018-3-20 处理中文乱码
- SpringMVC与iReport整合开发时的PDF中文显示处理
- URL中文乱码及特殊字符处理
- 【jmeter】利用BeanShell Preprocessor 处理请求参数的中文转码问题
- vim中文乱码解决
- 深入剖析JSP和Servlet对中文的处理过程
- vim 如何处理行末的^M
- SCRT VIM 中文乱码