如果空格是空格,制表符甚至是换行符,我的目标就是以某种方式使其可见(理想情况下,如果换行符,我很乐意看到\r\n\n会有所不同)。

我在想GUI文本编辑器可以做的类似事情。

用vim还能实现吗?

#1 楼

是的,请看:help listchars

listchars是一个字符串,当设置list以确定要为某些特殊字符呈现时,将对其进行解析。您可以在listchars中设置.vimrc,如下所示:

set listchars=eol:!,tab:>=,trail:.
set list


这将使用!字符显示每行的结尾,如>===的制表符(假设有四个空格的制表符),以及带有.字符的尾随空格。字符用SpecialKey组突出显示。

此外,您可以在listchars中包括以下标记:



extends:<character>用于最后一个字符在长行中

precedes:<character>用于长行中的第一个字符

conceal:<character>用于隐藏文本

nbsp:<character>用于不间断空格

请注意,如果没有相对较新的vim版本,就无法让vim显示可见空格,而这些空格不能尾随空格。检查if has("patch710")以查看space是否支持listchars

#2 楼

这可以通过:set list完成。可以通过:set listchars控制为不同的空白字符显示的字符。有关详细信息,请参见帮助主题。这是我的.vimrc文件中的示例:

set list
set listchars=tab:>-,trail:.,extends:#,nbsp:.


评论


大。以及如何更改这样显示的标记的颜色?此刻它们是蓝色的。想要浅灰色或类似白色的东西。猜测“ listcolor”,但没有。

– projix
20年1月13日在13:50

@projix我没有测试过,但是此答案显示了如何更改颜色:vi.stackexchange.com/a/6140/117-tl; dr为相应的突出显示类“ NonText”和“ SpecialKey”设置突出显示颜色。

–l4mpi
20年1月14日在15:14