小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在 Vim 中編寫(xiě) Python 程序

 openlog 2007-02-14

[BOTTOM][TOP]vimrc
.vimrc 是 Vim 的用戶配置文件,我們的大多數(shù)定制都得在這個(gè)文件中設(shè)置。在 Windows 中,它的文件名為 _vimrc。
[BOTTOM][TOP]單元測(cè)試
下面是我的 .vimrc 中與 Python 單元測(cè)試相關(guān)的設(shè)置,你可以直接把它們拷貝到你的 vimrc 文件中使用。

if has("autocmd")

  " 自動(dòng)檢測(cè)文件類型并加載相應(yīng)的設(shè)置
  filetype plugin indent on

  " Python 文件的一般設(shè)置,比如不要 tab 等
  autocmd FileType python setlocal et | setlocal sta | setlocal sw=4

  " Python Unittest 的一些設(shè)置
  " 可以讓我們?cè)诰帉?xiě) Python 代碼及 unittest 測(cè)試時(shí)不需要離開(kāi) vim
  " 鍵入 :make 或者點(diǎn)擊 gvim 工具條上的 make 按鈕就自動(dòng)執(zhí)行測(cè)試用例
  autocmd FileType python compiler pyunit
  autocmd FileType python setlocal makeprg=python\ ./alltests.py
  autocmd BufNewFile,BufRead test*.py setlocal makeprg=python\ %

  " 自動(dòng)使用新文件模板
  autocmd BufNewFile test*.py 0r ~/.vim/skeleton/test.py
  autocmd BufNewFile alltests.py 0r ~/.vim/skeleton/alltests.py
  autocmd BufNewFile *.py 0r ~/.vim/skeleton/skeleton.py

endif

最中間的是關(guān)于 unittest 的一些設(shè)置。第一條把 python 文件的編譯器設(shè)置為 pyunit。第二條設(shè)置 python 文件的 make 操作為執(zhí)行 python ./alltests.py 這樣的一條命令;這樣對(duì)于任何一個(gè) .py 文件,我們就可以在 VIM 的命令模式鍵入 :make 回車(chē)來(lái)執(zhí)行對(duì)整個(gè)模塊的測(cè)試了,如果你喜歡用 Gvim,你也可以用鼠標(biāo)點(diǎn)擊工具欄上的 make 快捷按鈕來(lái)執(zhí)行這一操作。第三條把名字為 test*.py 的文件的 make 操作設(shè)置為只執(zhí)行該 test 文件,這樣我們?cè)诰帉?xiě)一個(gè)特定的測(cè)試程序時(shí),就不需要每次都把所有的測(cè)試代碼都運(yùn)行一遍了。

上面設(shè)置中,最后的幾行可以保證我在編寫(xiě)一個(gè)新文件時(shí),Vim 會(huì)自動(dòng)根據(jù)文件名替我選擇一個(gè)模板文件,這樣我需要鍵入的代碼就可以更少了 :D

你可以下載我使用的完整的 .vimrc 文件,還有前面配置中用到的模板文件:skeleton.py、test.py 和 alltests.py。

上面的設(shè)置都我在自己的 Linux 中使用的,所有的路徑名都是 Linux/Unix 的格式。如果你有需要,可以使用 Windows 的路徑名代替它們,比如這樣:

  autocmd FileType python setlocal makeprg=\"C:\\Program\ Files\\Plone 2\\Python\\python\"\ ./alltests.py
  autocmd BufNewFile,BufRead test*.py setlocal makeprg=\"C:\\Program\ Files\\Plone 2\\Python\\python\"\ %

給要調(diào)用的 Python 加上全路徑。要注意的是,這里面出現(xiàn)的任何空格都要以轉(zhuǎn)義形式出現(xiàn),就是前面要加上反斜線 \;其它的特殊字符也要做相應(yīng)的轉(zhuǎn)義,比如 Windows 風(fēng)格的路徑分隔符 \,還有雙引號(hào) "(Windows 里要使用的文件名、路徑如果包含空格,一定記得把它們用雙引號(hào)包裹起來(lái))。

注:我已經(jīng)發(fā)現(xiàn) Vim 6.1 的 make 操作調(diào)用的命令行有誤,它不能把程序的所有輸出全部捕捉到,我們 PyUnit 的輸出也會(huì)受這個(gè) bug 的連累。建議使用 Vim 的最新版本,比如現(xiàn)在的 6.3 已經(jīng)修正這個(gè) bug。
[BOTTOM][TOP]代碼自動(dòng)完成
另外,我還使用了 [WWW]pydiction,這是一個(gè)相當(dāng)不錯(cuò)的 Python 代碼自動(dòng)完成的腳本。為了使用這個(gè)功能,我把它放在了 ~/.vim/tools 目錄中,并在 .vimrc 中增加如下設(shè)置:

" python auto-complete code
" Typing the following (in insert mode):
"   os.lis<Ctrl-n>
" will expand to:
"   os.listdir(
" Python 自動(dòng)補(bǔ)全功能,只需要反覆按 Ctrl-N 就行了
if has("autocmd")
  autocmd FileType python set complete+=k~/.vim/tools/pydiction
endif

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多