Vim字符编码/中文乱码详解
注:本文部分内容是从网络上复制,并在基础上进行了改正。 在Vim中,有四个与编码相关的配置项,分别是encoding、fileencoding、fileencodings和termencoding。其含义分别如下: 1. encoding encoding是Vim内部使用的字符编码方式,当我们设置了 encoding 之后, Vim 内部所有的 buffer、 寄存器、 脚本中的字符串等, 全都使用这个编码。 Vim 在工作的时候, 如果编码方式与它的内部编码不一致, 它会先把编码转换成内部编码。 如果工作用的编码中含有无法转换为内部编码的字符, 在这些字符就会丢失。 因此,在选择 Vim 的内部编码的时候, 一定要使用一种表现能力足够强的编码, 以免影响正常工作。 由于 encoding 选项涉及到 Vim 中所有字符的内部表示, 因此只能在 Vim 启动的时候设置一次。 在 Vim 工作过程中修改 encoding 会造成非常多的问题。 如果没有特别的理由,请始终将 encoding 设置为 utf-8。 set encoding=utf-8 对于win环境下的GVim,为防止菜单上出现中文乱码,可以进行如下设置: source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim 2. fileencoding 当 Vim