You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Vim模式行中实现let &showbreak=' '(单引号间为两个空格)的功能?

如何在Vim模式行中实现let &showbreak=' '(单引号间为两个空格)的功能?

嘿,我来帮你搞定这个Vim模式行的问题!

你说得对,模式行里确实没法用let命令,但咱们完全可以用set语法直接设置showbreak,只要正确处理空格就行——毕竟模式行里的空格默认是用来分隔不同选项的,直接写空格会被Vim当成选项之间的分隔符,而不是showbreak的值。

给你两种靠谱的写法:

  1. 反斜杠转义空格(兼容性更强)
    把每个空格前面加个反斜杠,告诉Vim这是值的一部分,不是分隔符。修改后的模式行是:

    /* vim: set breakindent formatoptions=l lbr showbreak=\ \ : */
    

    这里的两个\ 就对应你想要的两个空格效果。

  2. 单引号包裹空格(更直观)
    用单引号把两个空格括起来,让Vim把引号内的内容当成完整的showbreak值。写法是:

    /* vim: set breakindent formatoptions=l lbr showbreak='  ' : */
    

    不过要注意,部分旧版本的Vim可能对这种带引号的模式行支持不太友好,所以第一种转义的方式会更稳妥。

这样设置之后,文本换行时,折行的开头就会显示两个空格,刚好能对齐到上一行 bullet 点后面的第一个字符,完全符合你的需求!

备注:内容来源于stack exchange,提问作者Danathar

火山引擎 最新活动