我想动态调试vim脚本。我目前的工作流程是我在tmux面板上打开了自动加载插件,在另一个面板上打开了正在运行的应用程序。我还设置了tail -f vim.log
,我使用vim -V15vim.log
启动了vim。我的目标是通过添加大量echom
来监控插件的执行。
实际上我期待的东西比我实际得到的更有用。
echom
vim.log
我还尝试使用breakadd func myfunc#test
添加断点,但它并没有真正起作用,因为调试器窗口会干扰主窗口并改变我正在调试的插件的行为方式。
如何改进我的vim-script调试工作流程?
HINT
我实际上正在尝试调试vim-multiple-cursor
插件,该插件不适用于列块选择和virtualedit启用。我想解决它。
答案 0 :(得分:2)
:breakadd
是最强大的工具,但是,它的输出和交互可能会干扰某些插件操作,并触发其他autocmds。如果指定可选的[lnum]
偏移量仅停止在函数内执行,则可能会有所帮助。
每次添加新的
时,我都需要重新启动vimechom
如果您再次:source
更改了插件脚本,那就足够了。 ~/.vim/plugin/
内的脚本通常使用一个需要解决的多重包含保护。我的ReloadScript plugin可以为您提供帮助。
或者,Decho plugin可能会提供一种值得关注的不同方法。