vim 非可见字符(listchars)


原文链接: vim 非可见字符(listchars)

显示/隐藏

默认情况下,Vim是不会显示space,tabs,newlines,trailing space,wrapped lines等不可见字符的。我们可以使用以下命令打开list选项,来显示非可见字符:

:set list

如下图所示,制表符被显示为“^I”,而行尾则标识为“$”。

set_list_default

我们也可以使用以下命令,重新隐藏不可见字符:

:set nolist

通常我们会利用以下命令,切换显示或隐藏不可见字符:

:set list!

显示符号

使用:set listchars命令,可以配置使用何种符号来显示不可见字符。例如以下命令,将制表符(tab)显示为…;将尾部空格(trail)显示为·;将左则超出屏幕范围部分(precedes)标识为«;将右侧超出屏幕范围部分(extends)标识为»。

set listchars

其中,特殊符号是在插入状态下,点击快捷键Ctrl-k,然后键入编码来输入的。比如,中点是由.M输入;左书名号是由<<输入,右书名号是由>>输入。

可以使用以下命令,查看可以输入的特殊字符:

:digraphs

digraph

如下图所示,通过选择合适的符号和色彩,非可见符号被低调地显示出来––即没有影响实际的文本内容,又能展示容易被忽视的重要信息:

set listchars_result

显示颜色

非可见字符"eol"、"extends"、"precedes"是由NonText高亮组来控制显示颜色的,而"nbsp"、"tab"、"trail"则是由"SpecialKey"高亮组来定义的。

我们可以使用以下语法高亮 (Syntax Highlight)命令,来设置非可见字符的显示颜色和格式:

hi NonText SpecialKey

请使用以下命令,查看关于非可见字符的帮助信息:

:help listchars
命令小结:set list 显示非可见字符
:set nolist 隐藏非可见字符
:set listchars 设置非可见字符的显示模式
`