2008-09-10 50 views
5

随着我使用vim开发更多,我发现自己希望复制有用代码块,类似于Eclipse中的“模板”。vim中代码块和宏的最佳策略是什么?

我想使每个代码块单独的文件中,只是读取它们与

:r code-fornext 

但似乎只是一种原始的。谷歌搜索我发现vim宏提到了一些关于“地图”,但没有看起来简单。

我在找的是就像Eclipse的“模板”一样,所以我弹出一个代码块,光标坐在它的中间。 或JEdit的“宏”,我可以记录在一行上进行复杂的删除和重命名,然后我可以在其他10行再次播放,所以它们对它们也是一样。

vim是否有类似这两个功能的东西?

回答

8

要在Vim中录制宏,请在命令模式下,按下q键和另一个要分配给宏的键。为了快速扔掉宏,我通常只需击中qq并将该宏指定给q键。一旦处于录制模式,请执行击键。完成后,确保您已回到命令模式,并再次点击q停止录制。然后手动重放宏,可以键入@q。要重播以前运行的宏,您可以键入@@或跑10次,你可以键入[email protected][email protected]等。

总结:

+----------------------------------+-------------------------------------+ 
| start recording a macro   | qX (X = key to assign macro to)  | 
+----------------------------------+-------------------------------------+ 
| stop recording a macro   | q         | 
+----------------------------------+-------------------------------------+ 
| playback macro     | @X (X = key macro was assigned to) | 
+----------------------------------+-------------------------------------+ 
| replay previously played macro | @@         | 
+----------------------------------+-------------------------------------+ 

在问候的代码块,我发现和开始使用名为snipMate的Vim插件,它模仿了TextMate的片段功能。你可以得到的插件在这里:

http://www.vim.org/scripts/script.php?script_id=2540

以及使用snipMate(连同显示使用一个简短截屏)的短文:

http://www.catonmat.net/blog/vim-plugins-snipmate-vim/

希望你找到这个有帮助!

+0

@@似乎只适用于版本7,但我可以在版本6中使用@q来调用它,非常有用,谢谢! – 2008-09-11 06:55:14

0

在vim.wikia上,您会发现category of tips致力于片段和缩写扩展。您还将看到一个插件列表,可以简化复杂片段/模板文件的定义。

HTH,

相关问题