Vim - 自动打开关闭括号并移动光标

时间:2013-04-18 18:46:18

标签: linux vim indentation vi

我是Vim的新手,现在我只需要一件非常简单的事情:

(1)public class Foo <open brace><hit ENTER> 
or
(2)public class Foo <hit ENTER><open brace><hit ENTER>

要得到这个

(1)public class Foo{
   |cursor here
}

 (2)public class Foo
 {
    |cursor here
 }

我的.vimrc是:

set smartindent
set shiftwidth=4
set number
inoremap { {<CR>}<Left>

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:2)

有很多方法可以做你想要的:“智能”插件,如AutoCloseDelimitMate或更简单的自定义映射。这是一种做#1的方法,但有一种方法可以找到很多替代方案(我在~/.vimrc中有一些方法):

inoremap {<CR> {<CR>}<C-o>==<C-o>O

以下是#2的变体:

inoremap {{ <CR>{<CR>}<C-o>==<C-o>O

但我建议,如果您还没有这样做,请尝试SnipMateUltiSnips。两者都允许您扩展片段,并且在编写大量样板文件时非常非常有用。例如,

cla<Tab>

可能会成为:

public class Foo
{
    |
}

想想你要保存的所有按键!

答案 1 :(得分:0)

shift + 5 )会找到一些函数的括号集。