我的问题是当我创建一个vim宏时,我在搜索和替换历史中使用了一些搜索和替换。所以我用箭头键在历史上找到它。但麻烦是宏只记录我的箭头键活动,而不是我找到的命令。因此,当我再次执行宏时,搜索历史记录会发生变化,结果会混乱。有什么办法可以解决这个问题吗?使用搜索历史创建vim宏时遇到的麻烦
0
A
回答
1
是的,你可以通过理解宏记录击键而不是命令的结果来解决这个问题,并相应地采取行动。
例如,当您使用<C-r>/
或//
的上次搜索时,不会记录上次搜索寄存器的实际内容。下次你玩这个宏时,最后的搜索模式可能会有所不同,如果你期望的话,你的整个宏将被破坏。如果您希望自己的宏可靠,则必须实际输入搜索模式或将搜索作为录制的一部分。
为了更好地理解录制在Vim中的工作方式,可以粘贴刚刚录制的宏(宏被保存在寄存器中,就像你所抽出的东西一样)并研究它的内容。
QQ (做的东西) q “QP
+0
感谢您的帮助 – 2013-09-22 16:39:28
1
记住这个事实,当你录制宏不使用这样的历史召回的命令。这可能是不是很方便,但你可能会缓冲通过例如参考最后的搜索模式(例如:s//...
)或者调用部分命令(例如:w foo<Up>
),可以使用宏的这种行为作为特征。 ,可以记录适用于各种情况的宏。
最后,您可以在意识到它已损坏后“抢救”一个宏;因为其内容存储在寄存器中,所以你可以重新编辑,例如通过:
:let @a = <C-r><C-r>=string(@a)<CR>
相关问题
- 1. 在使用Java创建文件时遇到麻烦
- 2. 遇到麻烦创建几种方法
- 3. 用Java创建活动目录用户时遇到麻烦
- 4. 用mkdir创建目录时遇到麻烦
- 5. 从文件创建二维数组时遇到的麻烦
- 6. 使用opengrok搜索历史
- 7. 在python/pygame中创建多个实例时遇到麻烦
- 8. 安装mysql-python时遇到的麻烦
- 9. 配置PHP使用mySQL遇到麻烦
- 10. 海龟遇到麻烦
- 11. 我遇到了麻烦
- 12. 在C中循环时遇到麻烦
- 13. 麻烦与二叉搜索树建设
- 14. django干草堆面临错误搜索时遇到的麻烦 - undefined field django_ct
- 15. 用setTime方法遇到的麻烦
- 16. 搜索由用户创建的所有表的历史记录
- 17. 使用webmatrix安装nopcommerce时遇到的麻烦
- 18. 在Android上使用飞行模式时遇到的麻烦
- 19. 使用另一个类的printwriter时遇到麻烦
- 20. 使用PHP中的循环MySQL事务时遇到麻烦
- 21. 在jruby中使用java类时遇到的麻烦
- 22. Maven在Eclipse项目创建期间遇到麻烦
- 23. 麻烦使用创建表的外键
- 24. 在OpenReport宏中遇到了一些麻烦
- 25. 使用Java发送邮件时遇到麻烦
- 26. 使用python编写html文件时遇到麻烦
- 27. 在java中使用公共属性时遇到麻烦
- 28. 在Silverlight中使用CollectionViewSource时遇到麻烦
- 29. 在php中使用MIME类型检测时遇到麻烦
- 30. 在本地使用响应式图片时遇到麻烦
你能举一些例子来说明为什么按下上/下是必须的吗? – Kent 2013-04-26 16:48:03