在vim安装目录下的 _vimrc 文本中加入以下代码。
处理文本中显示乱码
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"处理菜单及右键菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"处理consle输出乱码
language messages zh_CN.utf-8
关于Vim的支持多字符编码方式工作的运作原理是:
首先、Vim 启动,根据_vimrc配置文件中设置的encoding的值来设置buffer、菜单文本、消息文的字符编码方式。
紧接、读取要编辑的文件,根据fileencodings中列出的字符编码方式逐一探测该文件编码方式。并设置fileencoding 为探测到的字符编码方式。
然后、对比fileencoding和encoding的值,若不同则调用iconv将文件内容转换为encoding所描述的字符编码方式,并且把转换后的内容放到为此文件开辟的buffer里,完成后就可以开始编辑这个文件。
最后、编辑完成后保存文件时,再次对比fileencoding和encoding的值。若不同再次调用iconv将即将保存的buffer中的文本转换为fileencoding所描述的字符编码方式,并保存到指定的文件中。
注:需要调用外部的iconv.dll,需要保证这个文件存在于$VIMRUNTIME或者其他列在PATH环境变量中的目录里。
本文介绍如何在Vim编辑器中配置多字符编码支持,包括解决文本、菜单及控制台输出的乱码问题。通过设置不同的编码参数,确保Vim能够正确地处理各种编码的文件。
1万+

被折叠的 条评论
为什么被折叠?



