是否有一种快速方法可以打开函数的大括号并在下一行缩进的插入模式下结束。例如:
void myFunc(int arg) {
<cursor>
}
具体来说,我要求在
()
内写入参数后执行一项动议。
现在我能想到的唯一方法是直接方法,插入左大括号和右大括号,将第二个向下移动两行,向上移动一行,然后制表符。
{}<esc>i<enter><enter><esc>ki<tab>
这看起来真的很多余。我想我也可以等到创建新行后写第二个卷曲并保存模式开关。但是有没有更聪明的 vim 方法来做到这一点?
您有两个选择:
创建自定义映射
如果是手动方式的话:
{}<Esc>i<CR><CR>
然后你可以将它映射到更短的东西:
inoremap {<CR> {}<Esc>i<CR><CR>
对其他括号也这样做:
inoremap (<CR> ()<Esc>i<CR><CR>
" etc.
这种方法很常见。这是我多年来在
vimrc
中使用的一个变体:
inoremap (; (<CR>);<C-c>O
" etc.
使用第三方插件
只需谷歌搜索“vim 自动关闭括号”。