随着我使用vim进行更多的开发,我发现自己想要复制一些有用的代码块,类似于Eclipse中的“模板”。
我在考虑为每个代码块创建一个单独的文件,然后用
:r code-fornext但这看起来有点原始。我用谷歌搜索了一下,发现上面提到了vim宏,还有一些关于“映射”的东西,但没有一样东西看起来很简单。
例如,我正在寻找的是Eclipse的“模板”之类的东西,所以我弹出一个代码块,将光标放在代码块的中间。或者JEdit的"Macros“,我可以在一行上记录复杂的删除和重命名,然后我可以在其他10行上再次播放它,所以它对它们也是如此。
vim有类似这两个功能的功能吗?
发布于 2008-09-10 16:03:36
若要在Vim中录制宏,请在命令模式下按q键,然后再按要将宏赋给的另一个键。为了快速丢弃宏,我通常只需点击qq并将宏赋给q键即可。一旦你在记录模式下,通过你的击键。完成后,请确保返回到命令模式,然后再次按q停止录制。然后,若要手动重放宏,可以键入@q。要重放之前运行的宏,可以键入@@;要运行10次,可以键入10@q或20@q等。
总而言之:
+----------------------------------+-------------------------------------+
| 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的snippets特性。您可以从以下位置获取插件:
http://www.vim.org/scripts/script.php?script_id=2540
还有一篇关于使用snipMate的短文(还有一个简短的截屏视频展示了它的使用):
http://www.catonmat.net/blog/vim-plugins-snipmate-vim/
希望这篇文章对你有帮助!
发布于 2008-09-17 13:42:28
在vim.wikia上,您会发现一个专门用于代码片段和缩写扩展的category of tips。您还将看到简化复杂代码片段/模板文件定义的插件列表。
HTH,
https://stackoverflow.com/questions/54401
复制相似问题