如何在多行函数头后确保Vim中更智能的缩进?

时间:2017-07-17 20:51:24

标签: vim whitespace indentation

我正在使用带有打字稿的Javascript,如果它很重要(我认为这不是因为我将在稍后解释这个问题)并且我有以下代码:

veryLongFunctionName(arg1: type,
                     arg2: type,
                     arg3: type) {
/* ... */
}

但是当我尝试在函数体中创建一个新行时,它会自动缩进到标题中arg3列之后的一个缩进。例如,由于我的缩进设置为两个空格,因此当光标位于osomeCode<ESC>时键入arg3会产生以下结果。

veryLongFunctionName(arg1: type,
                     arg2: type,
                     arg3: type) {
                       someCode
/* ... */
}

这显然不是我想要的,我希望它的缩进级别基于函数头本身的缩进。即使我从.vimrc中删除了typescript和javascript语法插件,它也会将缩进基于错误的行。

veryLongFunctionName(arg1: type,
                     arg2: type,
                     arg3: type) {
                     someCode
/* ... */
}

只有当我从.vimrc中完全删除filetype plugin indent on行时,光标才会自动缩进arg3列(因为它根本不会缩进)。

这个问题有一个简单的解决方案吗?

0 个答案:

没有答案