如何在 listchars 中使用多个空格?

如何在 listchars 中使用多个空格?

我目前正在使用在 vim 转换中找到的以下列表字符:

set listchars=tab:▸\ ,eol:¬

我想让 tab 变成 ▸ 后跟 3 个空格,但似乎无法实现。我尝试了以下方法:

set listchars=tab:▸\ \ \ ,eol:¬
set listchars=tab:▸\   ,eol:¬
set listchars=tab:▸<Space><Space><Space>,eol:¬

全部抛出错误。这可能吗?

答案1

不,这是不可能的。 :help 'listchars'明确指出选项的制表符部分必须正好是两个字符:

tab:xy  Two characters to be used to show a tab.  The first
        char is used once.  The second char is repeated to
        fill the space that the tab normally occupies.
        "tab:>-" will show a tab that takes four spaces as
        ">---".  When omitted, a tab is show as ^I.

答案2

<Tab>字符的可见宽度:set list由字符通常占用的(可变)宽度决定。如果您想确保一个(完整的)制表符由您的符号和 3 个空格表示,只需确保制表符宽度为 4 个字符:

:set ts=4

相关内容