你在Vim中使用过的最喜欢/最有成效的宏是什么?
我想知道vim专家如何在vim中使用宏进行日常编码 - 我有很多经常使用的自定义快捷键/映射,但没有遇到任何宏的好主意。
它可能是你以前使用过的宏,为了简化任务,我只需要想法就如何在vim中有效地使用这个特性。
宏通常是一个“即时”自动化工具。 可以说你有一个项目清单:
apple orange banana grapes cantaloupe
例如,您可以快速编写一个宏,使其成为一个HTML列表。 从苹果开头开始,将以下宏记录到寄存器1中: i<li><Esc>A</li><Esc><CR>
。
<CR>是关键,因为它允许您跳转到下一行,从而在您的宏执行中使用“count”修饰符,从而提供多行宏执行
然后转到橙色的开头,并使用4 @ 1([count] @ [register letter])将宏应用于剩下的条目以获取此:
<li>apple</li>
<li>orange</li>
<li>banana</li>
<li>grapes</li>
<li>cantaloupe</li>
想象一下,在200件物品的列表上使用它。 节省时间不?
当然这个例子是微不足道的,你可以用搜索和替换来做到这一点,但你可以想象更复杂的例子......
我使用宏进行了大量临时自定义按键保存。 但这是根据具体情况而定的。
例如:删除4个字符,插入模式,([]),退出插入模式,向下移动,退回四个空格。 然后使用.
重复它。
我最近在编辑c ++代码时使用了一个宏。 我有大约300个头文件,他们基本上有这样的形式:
... includes and other junk
namespace foo {
namespace bar {
... some classes and other code ...
}
}
... possibly more code
我想添加另一个名称空间来包含另外两个名称空间。 最终的文件应该如下所示:
... includes and other junk
namespace top {
namespace foo {
namespace bar {
... some classes and other code ...
}
}
}
... possibly more code
非常单调乏味,而且很容易出错。 但是使用vim宏很简单。 只需打开所有需要更改的文件,然后记录:
然后,您可以多次运行宏,因为有文件需要更改。
就我个人而言,我总是使用录制的宏和视觉块编辑命令来加快速度。 起初他们可能有点棘手,将问题看作是一个可以轻松使用vim命令轻松移动的范围内的重复命令。 但是,一旦你养成了在那个庄园里看到问题的习惯,他们总是有机会为你节省时间。
链接地址: http://www.djcxy.com/p/8695.html上一篇: What is your favorite/most productive macro that you have used in Vim?
下一篇: What is your favorite way to comment several lines in Vim?