zoukankan      html  css  js  c++  java
  • Vim中文处理

    应用自:http://linux-wiki.cn/wiki/%E8%AE%A9vim%E8%87%AA%E5%8A%A8%E5%88%A4%E6%96%AD%E4%B8%AD%E6%96%87%E7%BC%96%E7%A0%81

    此页由Linux Wiki用户Chenxing于2012年7月13日 (星期五) 00:35的最后更改。 在Wang Minglong的工作基础上。

    目录

    [隐藏]

    中文文件编码

    Vim可以自动判断文件的编码,自动判断失败时还可手动指定编码。

    Note.gif
    注意:
    本文方法对Vim 6.0以前的版本无效。[1]

    编码自动判断

    编辑~/.vimrc,(最好在其末尾)加入:

    " 设置新文件的编码为 UTF-8
    set fileencoding=utf8
     
    " 自动判断编码时,依次尝试以下编码:
    set fileencodings=ucs-bom,gb18030,utf-8,default
     
    " gb18030 最好在 UTF-8 前面,否则其它编码的文件极可能被误识为 UTF-8
    Hint.gif
    提示:
    该设置不会对已有文件的编码产生影响。

    指定打开文件使用的编码

    如果因为种种原因自动判断编码失败,可手动指定编码。在普通模式下执行如下命令即可:

    " 限定打开文件时仅使用某种编码,如 UTF-8
    :set fileencodings=utf8
     
    " 重新打开文件
    :e

    转换文件编码

    在确保文件打开且无乱码后:

    " 设置文件编码为新编码
    :set fileencoding=utf8
     
    :w 新文件名

    原理简介

    Vim有自动判断编码的功能,这里主要简单介绍几个变量:

    encoding
    屏幕显示的编码,如使用utf-8做locale的系统,encoding就应是utf-8以方便显示
    fileencodings
    供vi尝试的编码列表,vi会逐个尝试每一项,如果没有发生错误,就设置当前的fileencoding为与该项相同的值。如果均失败,fileencoding将为空。
    fileencoding
    正在被编辑的文件的编码,它也决定新文件的编码。如果为空,表示与encoding相同。如果与encoding不同,vi将会在保存和读取时做二者之间的转换。

    折行与合并行

    Vim 支持在编辑文本时自动折行,但默认对中文折行的支持并不理想,建议添加如下两个设置:

    " 如遇Unicode值大于255的文本,不必等到空格再折行。
    set formatoptions+=m
     
    " 合并两行中文时,不在中间加空格:
    set formatoptions+=B

    拼写检查

    Note.gif
    TODO:
    如何让英文拼写检查忽略中文文本?

    相关文档

    更多与Vim有关的文档,请参阅分类 Vi/Vim编辑器

    参考资料

    1. Vim documentation: options
  • 相关阅读:
    路径
    JSTL-3
    JSTL-2
    JSTL-1
    EL和JSTL的关系
    Mybatis控制台打印SQL语句的两种方式
    centOS7安装JDK
    centOS7下安装GUI图形界面
    centOS7配置IP地址
    Office2016专业增强版永久激活
  • 原文地址:https://www.cnblogs.com/langqi250/p/2756572.html
Copyright © 2011-2022 走看看