vim腳本調試

做者:池育龍
時間:01/15/14 23:53:45html

1. 簡介

本文介紹vim的腳本調試相關的知識,包括對vim腳本的斷點設置、單步執行、日誌的輸出(runtime log)。vim

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 第一行加上 :guiui

    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)號斷點。google

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中的報警、出錯信息、運行記錄都會記錄在日誌中。spa

相關文章
相關標籤/搜索