随着我使用vim进行更多开发,我发现自己想要复制有用代码块,类似于Eclipse中的"模板".
我正在考虑为每个代码块创建一个单独的文件,然后用它来读取它们
:r code-fornext
Run Code Online (Sandbox Code Playgroud)
但这似乎有点原始.谷歌搜索我发现提到的vim宏和关于"地图"的东西,但似乎没有什么是直截了当的.
我正在寻找的是像Eclipse的"模板"这样的东西,所以我弹出一个代码块,光标位于它的中间.或者JEdit的"宏",我可以记录在一行上进行复杂的删除和重命名,然后我可以在其他10行上再次播放它,所以它对它们做同样的事情.
vim有这两种功能吗?
要在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 | @@ |
+----------------------------------+-------------------------------------+
Run Code Online (Sandbox Code Playgroud)
关于代码块,我发现并开始使用名为snipMate的Vim插件,它模仿TextMate的片段功能.你可以在这里获得插件:
http://www.vim.org/scripts/script.php?script_id=2540
还有一篇关于使用snipMate的简短文章(以及显示正在使用的简短截屏视频):
http://www.catonmat.net/blog/vim-plugins-snipmate-vim/
希望你觉得这很有帮助!
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |