探索和调试 vim 脚本
Explore and debug vim script
我想动态调试 vim 脚本。我当前的工作流程是在 tmux 面板上打开自动加载插件,在另一个面板上打开 运行 应用程序。我还设置了 tail -f vim.log
并用 vim -V15vim.log
启动了 vim。我的目标是通过添加大量 echom
.
来监控插件的执行
实际上,我期待的是比实际得到的更有用的东西。
- 我每次添加新的
echom
都需要重新启动 vim
- 日志文件中没有显示任何真正有用的内容
vim.log
- 这个方法显然不对
我也尝试用 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 可能会提供另一种值得研究的方法。
我想动态调试 vim 脚本。我当前的工作流程是在 tmux 面板上打开自动加载插件,在另一个面板上打开 运行 应用程序。我还设置了 tail -f vim.log
并用 vim -V15vim.log
启动了 vim。我的目标是通过添加大量 echom
.
实际上,我期待的是比实际得到的更有用的东西。
- 我每次添加新的
echom
都需要重新启动 vim
- 日志文件中没有显示任何真正有用的内容
vim.log
- 这个方法显然不对
我也尝试用 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 可能会提供另一种值得研究的方法。