vim:如何在输入某个字符后格式化代码块?

时间:2013-02-10 21:20:58

标签: vim code-formatting

我想在输入特定字符后对某个代码块执行自动格式化,类似于visual studio的自动格式化。

例如,当输入了一个结束字符时,可以格式化上一行,就像在该行上点击Vgq一样。

实现这一目标的最简单,最有效的方法是什么? 我已经考虑过使用InsertCharPre事件,但实际上我需要一个InsertCharPost事件。不幸的是,这不存在。

1 个答案:

答案 0 :(得分:2)

如果format code block的意思是gq,您可以尝试:

inoremap <cr> <esc>Vgqo

此映射的作用是:当您在INSERT模式下键入 Enter 时,它将自动vgq为您,并将光标放在下一行,保持INSERT模式。

希望这就是你要找的东西。