内部支撑时vim中的自动换行和缩进?

Mik*_*den 12 javascript vim indentation

例如,如果我在vim中编写jQuery,我在插入模式下有这个("|"是当前光标位置):

$('#something').click(function(){|})
Run Code Online (Sandbox Code Playgroud)

...我点击了输入,我想得到这个:

$('#something').click(function(){
    |
})
Run Code Online (Sandbox Code Playgroud)

...虽然目前,我得到了这个:

$('#something').click(function(){
|})
Run Code Online (Sandbox Code Playgroud)

PHP中的函数定义也会发生同样的事情.有没有办法自动插入额外的新行和缩进光标位置时,如果进入这样的大括号?

(如果以前曾经问过这个问题,请道歉 - 这似乎是一个常见的请求,但我搜索了一段时间,却找不到它.)

Mik*_*den 6

我最终只是将其硬编码到 .vimrc 中,如下所示

" Make it so that a curly brace automatically inserts an indented line
inoremap {<CR> {<CR>}<Esc>O<BS><Tab>
Run Code Online (Sandbox Code Playgroud)

看起来这些<BS><Tab>部分不是必需的,但由于某种原因,它没有像 O 命令通常那样正确缩进,所以我不得不添加它。