vim脚本调试

作者:池育龙
时间:01/15/14 23:53:45

1. 简介

本文介绍vim的脚本调试相关的知识,包括对vim脚本的断点设置、单步执行、日志的输出(runtime log)。

2. vim脚本介绍

Vim编辑器的方便体现其的高度可定制化,你可以根据自己的需求编写各种插件、脚本来定制vim编辑器功能,使得它非常个性化,非常贴合你的个人需求。
vim脚本是实现个性化很重要的工具,他的介绍见:Vim 脚本语言,有兴趣可以熟悉一下。vim的官网上也提供了很多很有用、很有意思的脚本,可以根据自己的需要选用vim官网脚本区
但是我们在开始编写的脚本,甚至于一开始安装、配置、使用别人已经写好的脚本时,很多时候都发现结果不原先想象那样,-_-!! 我们在面对这些问题时,除了可以google、查看手册以外,还可以使用本文所介绍的一些vim调试手段来定位问题,并加以解决。避免因为google无法帮忙时就束手无策,只能卸载重装、来回折腾还无法解决问题的尴尬局面了。
本文基本内容是vim帮助手册中的内容,另外加上我的一些实际操作,如果我所写的和手册中冲突,以手册为准。如果需要了解更多脚本调试的信息,可以在vim中执行命令:h debug-scripts得到更多的信息.
本文环境为gvim 7.3.46, win7

3. Vim脚本调试

我们可以在vim启动时候就开始调试,也可以在启动后,执行某个vim脚本、调用某个vim函数的时候进入调试模式。
我们可以根据vim函数来设置断点,也可以根据脚本文件行号来设置断点.非常方便。

3.1. 背景知识

e:\temp\start gvim.exe -S "%VIMPROJ%\GameServer.vim" 或者 e:\temp\gvim.exe -S "%VIMPROJ%\GameServer.vim" 可以在vim启动之后,自动执行GameServer.vim脚本。

3.2. 进入调试

  1. 启动时候进入调试模式

    在 终端模式下,vim在加载第一个 _vimrc 配置文件时候就进入调试模式; 在gui模式下(gvim,Macintosh) ,vim在窗口启动完成之后进入调试模式,如果在gui模式下,想加载第一个 _vimrc 就能够进入调试模式,那就在 _vimrc 第一行加上 :gui

    e:\temp>gvim -D file.txt,这个命令可以vim启动的时候就进入调试模式,进入调试模式之后,输入 n就可以单步调试。

     

  2. 启动时候,当加载到某一个vim脚本的时候进入调试模式

     

    E:\temp>start gvim.exe -c "breakadd file */InitCPP.vim" -S "%VIMPROJ%\GameServer.vim".启动之后,加载到 InitCPP.vim文件时,进入到调试模式。这个命令在定位新安装的脚本无法正常工作时候非常有用,注意,这里文件使用的是通配符,加入在启动时候需要加载不同目录,多个InitCPP.vim,那么会在加载第一个时候进入调试模式
    E:\temp>start gvim.exe -c "breakadd file 69 */InitCPP.vim" -S "%VIMPROJ%\GameServer.vim".启动后,加载到InitCPP.vim第69行时候,进入到调试模式。

     

  3. vim在调用某个函数时候,进入调试模式

     

    vim启动之后,使用命令breakadd func UPFILE_default.那么当执行 UPFILE_default时候,vim会自动进入调试模式。

4. 调试模式

4.1. 设置、取消断点

:breakadd file [lnum] [name] 在文件(文件名为name),第(lnum)行设置断点。当vim加载到该位置时,会自动进入调试模式。
:breakadd func [lnum] [name] 在函数(函数名为name),第(lnum)行设置断点。当vim加载到该位置时,会自动进入调试模式。
:breaklist 列出当前设置的所有断点。
:breakdel {nr} 删除第(nr)号断点。

4.2. 调试模式的操作

命令意义
contcontinue 继续
quitquit
nextnext
stepstep
finish结束当前调试模式,等待下一次再次进入调试模式
echo idx查看变量idx的值
echo g:idx查看全局变量idx的值
echo g:idx查看全局变量idx的值
set verbose=20设置verbose变量的值20
set verbose=20设置verbose变量的值20

5. 其他

5.1. 运行日志

E:\temp>start gvim.exe -V9{dir/filename} 启动vim并且记录运行日志,日志保存在 dir 路径下的 filename 文件中。 注意:如果不指定路径,那么会存在程序启动路径,比较难找-_-!!
vim中的报警、出错信息、运行记录都会记录在日志中。

转载于:https://www.cnblogs.com/xidiandaily/p/3521784.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值