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. 調試模式的操作

命令 意義
cont continue 繼續
quit quit
next next
step step
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中的報警、出錯信息、運行記錄都會記錄在日志中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM