浏览和调试vim脚本

时间:2015-04-08 21:41:42

标签: debugging vim

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

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

  • 每次添加新的echom
  • 时,我都需要重新启动vim
  • 日志文件vim.log
  • 上没有显示任何实用信息
  • 这种方法显然不是正确的

我还尝试使用breakadd func myfunc#test添加断点,但它并没有真正起作用,因为调试器窗口会干扰主窗口并改变我正在调试的插件的行为方式。

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

HINT

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

1 个答案:

答案 0 :(得分:2)

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

  

每次添加新的echom

时,我都需要重新启动vim

如果您再次:source更改了插件脚本,那就足够了。 ~/.vim/plugin/内的脚本通常使用一个需要解决的多重包含保护。我的ReloadScript plugin可以为您提供帮助。

或者,Decho plugin可能会提供一种值得关注的不同方法。