我目前正在使用在 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