• VIM中的特殊字符


    0.简介

    在linux中vim查看一个windows下的文本文件, 经常在行尾有一个 ^M.

    这其实是windows/linux/mac系统中文本换行不一致的原因导致的,

    系统类别 文本换行符 转义字符
    Windows CRLF
    Linux LF
    Mac CR

     具体可查看 windows和linux换行规则的区别 .

    这里需要介绍的是 ^M 类的符号是什么意思.

    1. vim的脱字符表示法

    ASCII 0-31 部分的所有字符都是控制字符,不是可显示字符。为了在vim中显示出这些字符,将这些字符的编码加上 64 之后对应的全部为可打印字符,于是将 0-31 位置的字符,

    用 ^ 跟转换之后对应的那个字符绑在一起当作一个字符显示出来,既简洁又实用,——是为“脱字符表示法”。

    如:0x00 对应 ^@ (0+64),0x0D(回车)对应 ^M (13+64)等等

    详细的列表可以通过在vim中 :help digraph-table 命令查看,具体如下(只列出了前33个)

    char  digraph   hex     dec     official name ~
    ^@      NU      0x00      0     NULL (NUL)
    ^A      SH      0x01      1     START OF HEADING (SOH)
    ^B      SX      0x02      2     START OF TEXT (STX)
    ^C      EX      0x03      3     END OF TEXT (ETX)
    ^D      ET      0x04      4     END OF TRANSMISSION (EOT)
    ^E      EQ      0x05      5     ENQUIRY (ENQ)
    ^F      AK      0x06      6     ACKNOWLEDGE (ACK)
    ^G      BL      0x07      7     BELL (BEL)
    ^H      BS      0x08      8     BACKSPACE (BS)
    ^I      HT      0x09      9     CHARACTER TABULATION (HT)
    ^@      LF      0x0a     10     LINE FEED (LF)
    ^K      VT      0x0b     11     LINE TABULATION (VT)
    ^L      FF      0x0c     12     FORM FEED (FF)
    ^M      CR      0x0d     13     CARRIAGE RETURN (CR)
    ^N      SO      0x0e     14     SHIFT OUT (SO)
    ^O      SI      0x0f     15     SHIFT IN (SI)
    ^P      DL      0x10     16     DATALINK ESCAPE (DLE)
    ^Q      D1      0x11     17     DEVICE CONTROL ONE (DC1)
    ^R      D2      0x12     18     DEVICE CONTROL TWO (DC2)
    ^S      D3      0x13     19     DEVICE CONTROL THREE (DC3)
    ^T      D4      0x14     20     DEVICE CONTROL FOUR (DC4)
    ^U      NK      0x15     21     NEGATIVE ACKNOWLEDGE (NAK)
    ^V      SY      0x16     22     SYNCHRONOUS IDLE (SYN)
    ^W      EB      0x17     23     END OF TRANSMISSION BLOCK (ETB)
    ^X      CN      0x18     24     CANCEL (CAN)
    ^Y      EM      0x19     25     END OF MEDIUM (EM)
    ^Z      SB      0x1a     26     SUBSTITUTE (SUB)
    ^[      EC      0x1b     27     ESCAPE (ESC)
    ^      FS      0x1c     28     FILE SEPARATOR (IS4)
    ^]      GS      0x1d     29     GROUP SEPARATOR (IS3)
    ^^      RS      0x1e     30     RECORD SEPARATOR (IS2)
    ^_      US      0x1f     31     UNIT SEPARATOR (IS1)
            SP      0x20     32     SPACE
    ................

    2.文件转换命令

    dos2unix

    unix2dos

    参考文献:

    http://vimcdoc.sourceforge.net/doc/digraph.html

    https://www.jb51.net/article/97768.htm

    https://blog.csdn.net/lanchunhui/article/details/51660576

  • 相关阅读:
    NPOI读取excel表,如果有公式取出的是公式,想要取数字怎么办?
    win7 64位安装redis 及Redis Desktop Manager使用
    .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
    用户、角色、权限数据库设计
    C#实现手机发送验证码
    遍历页面上的checkbox
    Http简介
    HTTP深入浅出 http请求
    最好用的js前端框架、组件、文档在线预览插件
    windows下nginx安装、配置与使用
  • 原文地址:https://www.cnblogs.com/LubinLew/p/vim-escape-character.html
Copyright © 2020-2023  润新知