zoukankan      html  css  js  c++  java
  • vim、gvim 在 windows 下中文乱码的终极解决方案

    相信用过 Vim 的人都会深深的喜欢上这款编辑器,因为它的效率实在是太高了!不过,对于在 Windows 系统上使用 Vim 的人会碰到一点小麻烦:文件显示乱码、菜单乱码、右键菜单乱码、conlse输出乱码、文件关联右键菜单乱码……

    在 windows 下 vim 的中文字体显示并不好,所以我们需要调整字体显示编码为 utf-8,只有这样才能使用美观的中文。

    有个简单的方法解决乱码问题:删除vim下的lang目录。但这样所有菜单只能显示英文了。

    vim、gvim在windows下中文乱码的终极解决方案:

    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
    

    附:

    查看文件的编码:

    :echo &fileencoding
    

    Vim 有四个跟字符编码方式有关的选项,encoding、fileencoding、fileencodings、termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们的意义如下:

    encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。
    fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
    fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
    termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
    用英文菜单和提示最好,可以免去下面对菜单和提示信息(B,C部分)的设置。如果用英文菜单和提示在安装gvim的时候,将支持本地语言的选项去掉。

    解决vim文件乱码,打开文件乱码,菜单,提示信息乱码:

    有四个跟字符编码方式有关的选项,encoding、fileencoding、fileencodings、termencoding
    在linux中修改.vimrc(在win中是_vimrc)

    windows系统也可以在vim菜单项中:编辑>启动设定,直接打开_vimrc文件

    A,"设置文件的代码形式
    set encoding=utf-8
    set termencoding=utf-8
    set fileencoding=utf-8
    set fileencodings=ucs-bom,utf-8,chinese,cp936
    
    B,"vim的菜单乱码解决:
    "同样在 _vimrc文件里以上的中文设置后加上下列命令,
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    
    C,"vim提示信息乱码的解决
    language messages zh_CN.utf-8
    
    
  • 相关阅读:
    字节码编程,Javassist篇四《通过字节码插桩监控方法采集运行时入参出参和异常信息》
    字节码编程,Javassist篇三《使用Javassist在运行时重新加载类「替换原方法输出不一样的结果」》
    字节码编程,Javassist篇二《定义属性以及创建方法时多种入参和出参类型的使用》
    字节码编程,Javassist篇一《基于javassist的第一个案例helloworld》
    CPU瞒着内存竟干出这种事
    可怕!CPU竟成了黑客的帮凶!
    完了!CPU一味求快出事儿了!
    如果平行宇宙也有编程语言
    你离黑客的距离,就差这20个神器了
    哈希表哪家强?几大编程语言吵起来了!
  • 原文地址:https://www.cnblogs.com/enumx/p/12333939.html
Copyright © 2011-2022 走看看