26 Vim中是否存在允许弹性制表符的插件或内置功能?我搜索了一下,发现一些参考资料说在Vim中是不可能的,但是它们已经很老了。 有没有办法在Vim中设置弹性的制表符?我也很适合Neovim的解决方案,因为无论如何我都会使用它。 tab-characters — 耶罗恩 source 2 Neovim对此有一个功能请求。 — 迦勒
18 据我所知,在插件中没有实现此目的的合理方法。 有一个修补程序,但是很难预测何时/是否会合并该修补程序。 — 液晶屏 source 6 任何人,如果您希望将其合并,请在vim-dev上为其打气(并回复其对您的工作效果) — Christian Brabandt 2015年 2 该补丁似乎实际上并不是弹性的制表符。相反,它是可变的制表符,但是您必须提前设置停止点。就其本身而言,这很好,但实际上并不是问题所在。 — 卡雷布 @Caleb,一旦合并了var tabstop补丁,您就可能编写一些脚本。 — Christian Brabandt @克里斯蒂安,不,你不能。参见网上讨论,但这不能作为vim中的脚本/插件来完成(即使使用带有tabstop补丁的变量也是如此),因为它仅保留一种方法来渲染所有行。它只是没有公开完成这项工作所需的条件。 — 迦勒 5 提到的补丁已合并为8.1.105 — Christian Brabandt
8 注释:从8.1.105版本开始+vartabs,感谢Christian Brabandt,vim具有编译时功能! 据我所知,这允许实现弹性制表符。请参阅实际的拉取请求。 — 乌里奇科 source 1 您可以链接到文档或解释如何实现。这可能对将来的读者有所帮助,而不仅仅是指向提及它的用户的链接。 — 卢卡斯'18 2 :set vartabstop = 4,20,10,8-这将使第一个制表符变4个空格,第二个制表符变20个空格,第三个制表符10个空格,随后的所有制表符变8个空格。 — pdwalker 1 vartabstop不足以用于弹性制表位,因为制表位在代码块之间不会变化。vartabstop适用于整个文件。 — 阿隆·格里菲斯