在vim中显示单个空格不可见字符

5

我已经添加了set listchars=tab:»\,trail:·,extends:#,nbsp:.来显示不可见字符。

这对于tab extends有效,但对于nbsp无效。我已经阅读了:set listchars的帮助文档并尝试了其中给出的示例,但仍然无法获得单个空格字符的点字符。

我还需要做什么才能解决这个问题?有什么建议吗?

谢谢。


3
用Vim无法真正显示单个空格。请查看这里的答案和解决方法:https://dev59.com/DXI-5IYBdhLWcg3wxruQ。 - glts
@glts,"single space" 究竟是什么意思?它只是指普通的空格(x20)吗?你不能只做 set listchars=space:·set list 吗? - wisbucky
2个回答

5

请注意反斜杠的使用。

set listchars=tab:>\\,trail:·,extends:#,nbsp:.

这个功能能够正常工作。但是需要注意的是,nbsp代表着不间断空格(字符0xA0),与普通空格(字符0x20)不同。在大多数情况下,我们需要在插入模式下使用Ctrl-v x a 0来输入它。


@shinkou 插入一个字面上的不间断空格(U+00A0)的命令为 CTRL-V xa0CTRL-V u00a0 - glts
@gits 是的,我漏掉了“x”。谢谢。 :) - shinkou
@dearvivekkumar,请查看Gits的评论。 - shinkou
有没有其他的替代方式可以显示空格字符(0x20)? - Vivek Kumar

5

最近版本的 Vim 可以显示普通空格。(在 Vim 7.4.1689 上经过确认)

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»

你能告诉我应该使用哪种字体来打印 吗?就像你在这里看到的那样,它对我来说是有问题的。 - Arup Rakshit
我不确定,对我来说默认字体可以正常显示。你评论中的字符是 U+2022 "圆点符号"。你可以尝试使用 · U+00B7 "中间点" 代替。或者在 https://en.wikipedia.org/wiki/List_of_Unicode_characters 中查找任何你喜欢的字符。你也可以使用 unicode 转换器 复制并粘贴一个字符以查找其代码。 - wisbucky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接