VIM:在括号内缩进和空格

时间:2012-12-17 03:53:15

标签: vim

我正在尝试找到一种方法来执行以下操作,因为我已经进行了大量的javascript开发。

给出以下一行:

var someFunc = function() {};

成:

var someFunc = function() {
  // proper indenting -- cursor placed here
};

我想让vim只需按回车键即可从插入模式执行此操作。重新设置实际间距的输入键会很容易,但我发现的问题是检查以确保我在括号内。

任何帮助都会很棒!

谢谢!

1 个答案:

答案 0 :(得分:3)

有很多方法可以做到这一点。还有很多类似的问题和超级用户。

假设您的光标位于 insert 模式:

var someFunc = function() {|};

这种映射可以达到你想要的效果:

inoremap <C-Return> <CR><CR><C-o>k<Tab>

假设您的光标位于该行的其他位置且您仍处于插入模式,则此映射将起作用:

inoremap <C-Return> <Esc>$T{i<CR><CR><C-o>k<Tab>

因为它更通用,所以第二个映射可以很好地解决您的问题。

但你也可以使用像DelimitMate这样的插件(有others)来插入右括号并为你做“支架打开”。

代码段(SnipMate(originalfork),UltiSnipsothers)也很有用:输入fun后跟<Tabs>是当然是编写完整函数定义存根的好方法。

相关问题