【问题标题】:How do I stop running Vim macro如何停止运行 Vim 宏
【发布时间】:2013-09-11 20:12:00
【问题描述】:

我将一个宏记录到一个寄存器并以太多重复开始它。完成每个宏需要很长时间。

如何取消/停止 Vim 执行宏?有没有办法在不杀死编辑器进程的情况下做到这一点?

以下是我遵循的步骤:

  1. 将宏录制到寄存器 1
  2. 我运行了 1000 次:1000@1
  3. 现在等待大约 6 秒来完成每个宏。

【问题讨论】:

  • 您应该在寄存器 a 到 z 中记录宏。寄存器 1 到 9 保留用于拉动和删除,并在您每次拉动或删除时更新,这可能是您体验缓慢的原因。
  • 感谢您的评论。我将切换到字母。在性能方面,我必须执行以下命令以使其快速运行: syntax off set undolevels=0

标签: vim macros


【解决方案1】:

C-c 有效

此外,您可以让它在错误时中断。 (我认为这是默认设置)。我有时会临时做

 :se nowrapscan

避免“无限”循环我的缓冲区


另外,为了加快宏的执行,让它静默:

:silent! norm 1000@q

【讨论】:

  • Ctrl-C 在 Vim 7.4 for Windows 上不起作用。我已经升级到 Vim 8.0,它在那里工作。
  • @mwardm Vim(曾经)具有“Windows 模式”默认配置(我讨厌它)。在 Windows 上,^C 和 ^V 被映射到...复制/粘贴。我认为 ^Q 取代了 ^C 但我不确定。我通常会从 vimrc 中删除任何 behave mswin 和相关内容
  • @sehe 我想我出于某种原因尝试过 ctrl-Q 但不幸的是,我已经将它作为 SlickRun 的系统范围热键 :-) 正如您所暗示的那样,很可能是升级导致了对我的配置进行更改以使事情正常进行。
猜你喜欢
  • 2018-08-10
  • 2016-12-29
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-13
  • 1970-01-01
相关资源
最近更新 更多