暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在 Vim 中显示隐藏的特殊字符

TIAP 2022-08-02
3009

你是否在 Python、YAML等要求严格缩进格式的文件中遇到过问题?检查之后,发现文档的内容都是正确的,除了缩进,因为其中有一行是缩进了3个空格,而不是4个空格。

这种情况经常发生。大多数IDE允许我们查看特殊字符,并能识别行尾、空格和制表符。vim 不亚于其他任何IDE,它也可以显示那些隐藏的字符。


Vim中的隐藏字符

vim 中的隐藏字符可以被认为是“空格”。以下是 vim 为了更好的易读性而隐藏的字符:

  • eol 行尾(end of line)

  • tab

  • trail 换行符前的空格

  • extends 最后一列中的字符,表示下一行是换行的延续

  • precedes 第一列中的字符,表示此行是前一行的延续

  • conceal

  • nbsp 空格字符


显示隐藏字符

要临时显示隐藏字符,可使用如下命令:

    :set list


    临时显示隐藏字符后,如果想再次将隐藏字符隐藏,可使用如下命令:

      :set nolist


      如上图所示,启用 list 选项来显示隐藏字符后,文本区域会看到有 $ 字符,表示换行符。

      永久显示换行符,可将如下命令添加到 vimrc 文件中:

        set list


        更改隐藏字符

        当打开隐藏字符的可见性时,vim有一个预先定义的字符集合,如上图所示,换行符由美元符号 $ 表示。

        但是如果你不想要美元符号呢?如果你想要一个不同的字符来表示换行符呢?

        以下是设置隐藏字符的一个例子:

          :set listchars=eol:^,tab:-,trail:!,extends:>,precedes:<


          上面的例子中,设置显示行尾(eol)的字符在 eol: 后面键入即可。


          如上图所示,我复制了空格并将其粘贴在行尾,它们显示为感叹号 ,同时,行尾字符由 $ 变为了 ^

          如果要永久使用上述设置,可将下面的命令添加到 vimrc 文件中:

            set listchars=eol:^,tab:-,trail:!,extends:>,precedes:<


            总结一下,本文分享的是如何显示隐藏字符,如何恢复隐藏字符,以及如何设置隐藏字符的显示符号。欢迎讨论。


            文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论