首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vim中处理代码块和宏的最佳策略是什么?

在vim中处理代码块和宏的最佳策略是什么?
EN

Stack Overflow用户
提问于 2008-09-10 15:27:50
回答 2查看 1K关注 0票数 5

随着我使用vim进行更多的开发,我发现自己想要复制一些有用的代码块,类似于Eclipse中的“模板”。

我在考虑为每个代码块创建一个单独的文件,然后用

代码语言:javascript
复制
:r code-fornext

但这看起来有点原始。我用谷歌搜索了一下,发现上面提到了vim宏,还有一些关于“映射”的东西,但没有一样东西看起来很简单。

例如,我正在寻找的是Eclipse的“模板”之类的东西,所以我弹出一个代码块,将光标放在代码块的中间。或者JEdit的"Macros“,我可以在一行上记录复杂的删除和重命名,然后我可以在其他10行上再次播放它,所以它对它们也是如此。

vim有类似这两个功能的功能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-09-10 16:03:36

若要在Vim中录制宏,请在命令模式下按q键,然后再按要将宏赋给的另一个键。为了快速丢弃宏,我通常只需点击qq并将宏赋给q键即可。一旦你在记录模式下,通过你的击键。完成后,请确保返回到命令模式,然后再次按q停止录制。然后,若要手动重放宏,可以键入@q。要重放之前运行的宏,可以键入@@;要运行10次,可以键入10@q20@q等。

总而言之:

代码语言:javascript
复制
+----------------------------------+-------------------------------------+
| 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/

希望这篇文章对你有帮助!

票数 8
EN

Stack Overflow用户

发布于 2008-09-17 13:42:28

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

HTH,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档