我正在使用Vim的SmartTabs插件将C代码与缩进级别的标签结合起来,然后用于对齐的空格。它适用于像
这样的东西void fn(int a,
________int b) {
--->...
标签为--->
,空格为_
。但对于像
--->if(some_variable >
--->--->some_other_variable) {
--->...
在上面的例子中,Vim在括号内的第二行插入标签。有没有办法可以修改Vim看到的延续线,包括这样的情况,所以我得到:
--->if(some_variable >
--->___some_other_variable) {
--->...
答案 0 :(得分:0)
如果有缩进样式,根据一个人的喜好和一致的对齐都允许灵活的缩进宽度,你建议的方案就是它。不幸的是,这种风格需要对底层语法有一些基本的了解(例如,some_other_variable
是否是行断开的条件(→空格)或条件(→Tab)中的函数调用的一部分),这使得实现它困难的。
我不知道任何现有的Vim插件。 'copyindent'
和'preserveindent'
选项有点帮助,但基本上你必须自己用 Space 显式地插入非缩进(并且可能:set list
来验证)。
我不知道其他编辑,但大多数其他低级代码编辑器的情况类似。如果没有良好的自动支持,这种优雅的风格将很难获得认可。我很想看到这样的Vim插件。