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

您是否曾在 YAML、Python 或任何其他强调缩进的文件中遇到问题?

后来,您意识到文件中的所有内容都是正确的,除了缩进,并看到有一行缩进了 3 个空格而不是 4 个空格?

这经常发生。 大多数 IDE 允许您查看特殊字符并识别行尾、空格和制表符。 Vim 不落后于任何其他 IDE。 它还可以向您显示那些隐藏的字符。

Vim 中的隐藏字符

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

  • eol (行结束)
  • tab
  • trail (换行符前的空格符)
  • extends (最后一列中的字符表示下一行是换行的延续)
  • precedes (第一列中的字符表示这一行是前一行的延续作为换行)
  • conceal
  • nbsp (不可破坏的空格字符)

启用隐藏字符的可见性

要临时启用隐藏字符的可见性,可以使用以下命令。

:set list

要反转此更改,您可以使用下面给出的命令再次隐藏隐藏的字符。

:set nolist

如您所见,启用列表选项,现在有 $ 表示换行符或换行符的字符。

要使这个更改永久生效,将以下行添加到您的 ‘vimrc’ 文件中。

set list

更改隐藏字符

当你打开字符的可见性时,Vim 有一个预定义的集合。 正如您在上面的 gif 中看到的,启用可见性使用 set list换行符用美元符号表示 $.

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

下面是一个 example 了解怎样为每个隐藏角色使用不同的角色。

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

要用于表示行尾 (eol) 的字符将在之后键入 eol: 在里面 example 上面的命令。

如果您看视频,我复制了空格并将其粘贴到行尾(也称为“尾随空格”),它们现在显示为 ! 感叹号。

还要注意怎样默认 eol 字符从 $ 美元符号 ^ 回旋符号。

如果你想让它永久化,你可以添加你在 ‘vimrc’ 中运行的相同命令,如下所示:

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

结论

本文介绍怎样启用(和禁用)隐藏字符的可见性。 我们还讨论了怎样更改表示隐藏字符存在的符号。

如果您有兴趣学习的不仅仅是 Vim 基础知识,我强烈建议您使用 Jovica Ilic 的这个程序。