我刚来公司的时候,发现公司的 Linux 开发环境没有配置中文,因为绝大多数同事都是在 VC/SourceInsight/UltraEdit上编辑后sz到服务器上编译,所以没人在意这个问题。而我习惯于在 vim 下直接写代码,很不习惯,就搞了一下。
首先让 vim 支持中文,这个修改配置即可,但是没想到后来那么麻烦。
一开始尝试统一设置为 en_US.UTF-8,SecureCRT 的编码也设置为 UTF-8,vim 好了,但是 cat 和 more GB 编码的文件时会乱码。
设置为 en_US.ISO8859-1,cat 和 more 好了,vim 又不行了。
很奇怪 vim 的 fileencoding 里面设置了检测中文的选项,
set fileencodings=utf-8-bom,ucs-bom,utf-8,cp936,gb18030,ucs,big5
为什么不起作用呢?后来明白了 UTF-8 本身能够兼容中文,所以 vim 不管语言是不是中文,vim 都会进行中文的检测,而语言设置为 en_US,编码不是 UTF-8 的时候,则认为环境不支持中文,直接忽略 fileencodings 里的cp936,gb18030等中文编码。
这就好办了。
因为我们的系统大部分还都是 GB 编码,而 cat 和 more 又不会进行编码的自动识别和转换。但是 vim 会,因此就委屈一下 vim,全局依然用 GB 编码。
具体操作:
编辑 ~/.profile,加入:
export LC_CTYPE=zh_CN.GB18030
编辑 ~/.vimrc,确认含有:
set fileencodings=utf-8-bom,ucs-bom,utf-8,cp936,gb18030,ucs,big5
这个顺序比较好,能准确识别的优先放前面。
然后 vim 就能正确识别中文了,不会出现乱码和半个汉字的问题。
如果要全中文,就用:
export LC_ALL=zh_CN.GB18030
取代
export LC_CTYPE=zh_CN.GB18030
这样终端的错误信息和gcc错误信息都是中文的了,cat 和 more GB 编码的文件也很正常了。
这个问题涉及到好几个方面:文件本身的编码终端的语言vim的中文支持vim的编码检测转换和输出SecureCRT的编码
所以实际上还是挺复杂的,一环错了都出不来效果。
现在编码问题算是比较完美地解决了,生活真美好……
分享到:
相关推荐
vim中文乱码解决;vim;fedora;ubuntu
VIM中文乱码解决方法.docx
vim_for win加解决中文乱码插件
解决ubuntu中vim显示中文乱码的问题
在vim中编辑一个中文文本时,有时候看起来有乱码,以前都是修修补补的弄没有乱码了就不管了,这个问题一直都很困扰我。突然想到这个问题想把它给解决掉,在网上有很多这方面的资料,但是说得不是很到位,经过了一天...
Plugin 'yianwillis/vimcdoc' "vim中文帮助文档 Plugin 'nelstrom/vim-visual-star-search' Plugin 'ludovicchabant/vim-gutentags' Plugin 'w0rp/ale' Plugin 'mbbill/echofunc' "自动显示函数声明插件 Plugin '...
vim对于广大的linux用户来说并不陌生,本人提供的是自己收藏的东东,包括简体中文帮助文档、vim文件类型关联脚本vim-reg.reg(在windows下的vim没有文件关联功能,因此在打开每个文件前都需要右键使用vim打开,很是...
1.RedHat Linux 9中,vim由默认版本升级至指定版本的方法(vm7.2版),同时也解决了以下两个问题: a.录入中文后,无法保存 b.删除中文时,只能删除半个中文 2.ReaHat Linux9中安装五笔输入法的方法(小企鹅五笔输入法) 都...
解决Ubuntu 11.04下Gedit中文乱码和vim中文乱码问题(txt).docx
vim practice 中文版 传统观点认为,Vim 的学习曲线很陡,但我相信绝大多数 Vim 用户对此不以为 然。在学习 Vim 的初期,人们的确需要经历一段驼峰似的阻力,然而一旦完成了 vimtutor 的训练,并了解如何为 vimrc 配置...
本书示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以 帮助读者快速掌握和精通 Vim。 本书适合想要学习和掌握 Vim 工具的读者阅读,有一定 Vim 使用经验的程序员, 也可以参考查阅以解决...
《Vim实用技巧》示例丰富,讲解清晰,采用一种简单的标记方法,表示交互式的编辑效果,可以帮助读者快速掌握和精通Vim。 《Vim实用技巧》适合想要学习和掌握Vim工具的读者阅读,有一定Vim使用经验的程序员,也可以...
1. 多语言环境,解决中文乱码问题 2. ctags:需要将vim路径设置到系统的环境变量path中,才能使用ctags命令,在vim中使用 Ctrl+F12运行命令在当前工作路径中生成tags,其他库tags文件路径自行生成和设置。Ctrl+]跳 ...
vim帮助文档中文版,可以帮助你解决英文疑难,方便掌握与理解vim的高级用法
vim taglist插件,解决在中文路径下,taglist无法正常工作的情况
vim、gvim在windows下中文乱码的终极解决方案.docx
学习VI和VIM编辑器第7版首发word可编辑中文版,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。 学好vi走遍天下都不怕。
用gvim打开源码文件,并将光标定位到要查找的内容上,按下F3,确定要查找的内容和搜索范围,会出现乱码问题,此工具可以解决