提高宏播放速度?


13

我录制了一个简单的宏,并在随后的几行中对其进行了回放,但是回放速度似乎非常慢(每秒处理几行)。这是预期的,并且有办法提高这种速度吗?


4
试试:set lazyredraw:h lazyredraw
VanLaser 2015年

确实lazyredraw可能是最好的解决方案。您还可以提供宏和示例文件,以便我们查看是否可以对其进行优化。
statox

Answers:


12

设置lazyredrawwith :set lazyredraw将通过在执行宏或运行键入的命令以外的命令时不重绘屏幕来极大地提高宏的执行速度,:help 'lazyredraw'有关详细信息,请参见。

另一种减少浪费的方法是确保您没有时间浪费autocmds或映射。如果宏在运行后仍然很慢,请检查vimrc文件是否存在慢速或不必要的映射,并删除不需要的插件。在我的情况下,我有一个可以运行的autocmd,并且可以在退出插入模式时使用外部程序关闭CapsLock,这很方便,通常不引人注意,但是它大大降低了插入宏的速度。

如果您的宏进入了插入模式,在该模式下您有很多映射,那么拥有一个键来设置粘贴模式并暂时禁用插入映射可能会有所帮助,请参阅:help 'paste':help 'pastetoggle'。请记住,这可能会使插入更加困难。

最后,通过最小化移动,模式切换等,使宏尽可能简单。

祝好运。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.