你在 Vim 中使用过的最喜欢/最高效的宏是什么?

TCS*_*rad 3 vim macros keyboard-shortcuts

我想知道 vim 专家如何在 vim 中使用宏进行日常编码 - 我有很多我经常使用的自定义快捷方式/映射,但还没有遇到任何关于宏的好主意。

它可能是您以前使用过的一个宏,用于极大地简化任务 - 我只需要有关如何在 vim 中有效地使用此功能的想法!

Pie*_*tte 5

宏通常是一种“动态”自动化工具。假设您有一个项目列表:

苹果
橘子
香蕉
葡萄
哈密​​瓜

例如,您可以快速编写一个宏来将它们变成一个 html 列表。从 apple 一词的开头记录以下宏:i<li><Esc>A</li><Esc><CR>进入寄存器 1。

<CR> 是关键,因为它允许您跳到下一行,从而在宏执行中使用“计数”修饰符,提供多行宏执行

然后转到橙色的开头并使用 4@1 ([count]@[register letter]) 将宏应用于其余条目以获得此:

<li>apple</li>
<li>orange</li>
<li>banana</li>
<li>grapes</li>
<li>cantaloupe</li> 
Run Code Online (Sandbox Code Playgroud)

想象一下在 200 个项目的列表中使用它。节省时间不是吗?

当然,这个例子是微不足道的,你可以通过搜索和替换来做到这一点,但你可以想象更复杂的例子......

  • 但是,AFAIK,`A` 与 `&lt;Shift&gt;&lt;4&gt;&lt;A&gt;` 相同。在命令模式下,`a` 在光标位置后插入文本,而`A` 在行尾插入文本!!所以,$ 击键是多余的:) (3认同)