Vim 文件编码
本文主要介绍 vim 文件编码,主要解决中文乱码问题。
解决方案
vim 默认打开文件的编码为 utf-8,如果是 gbk 编码的文件或者 gb2312 编码的文件,其中文一定会乱码。
首先,设置 vim 打开文件的编码。
在配置文件中写入set fencs=utf-8,gbk,big5,cp936,gb18030,gb2312,utf-16
。该配置的意义是让 vim 挨个尝试列出的编码,直到不出错,然后将以该编码打开文件。
至此,在文件中看到的中文已经不会乱码。但是一些插件,如 vim-clap 中搜索时显示的中文依旧是乱码的。这是因为本质上这些内容依旧不是 utf-8 格式,而这些插件也不遵从上面的配置。于是需要将文件转换为 utf-8 编码。
使用:set fenc=utf8
可以将打开的所有缓冲区修改为 utf-8 编码。如果有大量文件需要转换,可以将其绑定至一个快捷键。
nmap <silent><nowait> <leader>e :set fenc=utf8<CR>
需要注意的是,如果一开始没有正确打开文件,中文仍处于乱码状态,即使修改编码也是无济于事的。因此为保险起见,不建议直接用 shell 命令给所有文件切换编码,而是在用 vim 编辑时边查看是否乱码,边修改编码。如果文件量很大,可以借助其他靠谱的工具。