探索和调试 vim 脚本

Explore and debug vim script

我想动态调试 vim 脚本。我当前的工作流程是在 tmux 面板上打开自动加载插件,在另一个面板上打开 运行 应用程序。我还设置了 tail -f vim.log 并用 vim -V15vim.log 启动了 vim。我的目标是通过添加大量 echom.

来监控插件的执行

实际上,我期待的是比实际得到的更有用的东西。

我也尝试用 breakadd func myfunc#test 添加断点,但它并没有真正起作用,因为调试器 windows 干扰了主要的 window 并改变了我正在调试的插件的行为方式.

如何改进我的 vim-脚本调试工作流程?

提示

我实际上正在尝试调试 vim-multiple-cursor 插件,该插件不适用于列块选择和启用的 virtualedit。我想修理它。

:breakadd 是最强大的工具,但是,它的输出和交互可能会干扰某些插件操作,并触发额外的自动命令。如果您指定可选的 [lnum] 偏移量以仅在函数内部停止执行,这可能会有所帮助。

I need to restart vim everytime I add a new echom

只要重新:source修改过的插件脚本就可以了。不过,~/.vim/plugin/ 中的脚本通常采用多重包含防护,您需要解决这个问题。我的 ReloadScript plugin 可以提供帮助。

或者,Decho plugin 可能会提供另一种值得研究的方法。