在Vim中是否可以有弹性的制挡片?我也很适合Neovim的解决方案,因为这还是我一直使用的方法。
#1 楼
据我所知,没有任何合理的方法可以在插件中完成此操作。 >评论
任何人,如果您希望将其合并,请在vim-dev上为它加油(并回复此方法对您的效果如何)
–克里斯蒂安·布拉班特(Christian Brabandt)
15年4月18日在12:06
该补丁似乎实际上并不是弹性的制表符。相反,它是可变的制表符,但是您必须提前设置停止点。就其本身而言,这很好,但实际上并不是问题所在。
–卡莱布
16 Mar 7 '16 at 10:29
@Caleb,一旦合并了var tabstop补丁,您就可能编写一些脚本。
–克里斯蒂安·布拉班特(Christian Brabandt)
16 Mar 7 '16 at 18:54
@克里斯蒂安,不,你不能。参见网上讨论,但这不能作为vim中的脚本/插件来完成(即使使用带有tabstop补丁的变量也是如此),因为它仅保留一种方法来渲染所有行。它只是没有公开完成这项工作所需的条件。
–卡莱布
16年3月7日在19:17
提到的补丁已自8.1.105起合并
–克里斯蒂安·布拉班特(Christian Brabandt)
18年6月25日在8:16
#2 楼
注释:从8.1.105版本开始,vim具有+vartabs
的编译时功能,这要归功于Christian Brabandt!据我所知,这允许实现弹性的制表位。请参阅实际的拉取请求。
评论
您可以链接到文档或解释如何实现。这可能对将来的读者有所帮助,而不仅仅是指向提及它的用户的链接。
–卢卡斯
18年7月23日在12:50
:set vartabstop = 4,20,10,8-这将使第一个制表符变4个空格,第二个制表符变20个空格,第三个制表符10个空格,随后所有制表符变8个空格。
–pdwalker
18/12/17在11:38
vartabstop不足以用于弹性制表位,因为制表位在不同代码块之间不会发生变化。 vartabstop适用于整个文件。
–阿伦·格里菲斯(Aron Griffis)
19年2月14日,下午3:12
评论
Neovim上对此有一个功能请求。