vim---打造Python IDE

1.文法高亮php

  爲了能在Vim中支持Python文法須要用到插件python.vim,該插件默認位於(/usr/share/vim/vim72/)<Vim安裝目錄>/<$VIMRUNTIME>/syntax/下,若是你在該路徑下沒有找到這個插件,須要到python.vim : Enhanced version of the python syntax highlighting script下載。而後爲了能讓Vim識別Python文法須要在vimrc中添加:python

set filetype=python
au BufNewFile,BufRead
*.py,*.pyw setf python

2.縮進linux

  在vimrc(/etc/)中添加以下縮進相關的代碼:程序員

set autoindent " same level indent
set smartindent " next level indent
set expandtab
set tabstop
=4
set shiftwidth
=4
set softtabstop
=4

3.項目視圖vim

  像Visual Studio或Eclipse之類的IDE都會提供項目視圖(位於左側或右側),程序員利用該視圖在文件間或類間跳轉。利用Ctags和插件Tasklist能夠在vim中實現此功能。windows

  • 首先下載Exuberant Ctags
  • 而後解壓Ctags,並進入解壓後的目錄,利用以下命令編譯安裝Ctags:
./configure && sudo make install
  • 經過這種方式,Ctags被安裝在/usr/local/bin下。接下來在vimrc中添加以下命令告訴Vim Ctags的安裝路徑:
   
 """"""""""""""""""""""""""""""
   " Tag list (ctags)
   """"""""""""""""""""""""""""""
   if MySys() == "windows"                "設定windows系統中ctags程序的位置
     let Tlist_Ctags_Cmd = 'ctags'
   elseif MySys() == "linux"              "設定windows系統中ctags程序的位置
     let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
   endif
   let Tlist_Show_One_File = 1            "不一樣時顯示多個文件的tag,只顯示當前文件的
   let Tlist_Exit_OnlyWindow = 1          "若是taglist窗口是最後一個窗口,則退出vim
   let Tlist_Use_Right_Window = 1         "在右側窗口中顯示taglist窗口

在taglist窗口中,能夠使用下面的快捷鍵:緩存

<CR>          跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也同樣
o             在一個新打開的窗口中顯示光標下tag
<Space>       顯示光標下tag的原型定義
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出現順序排序間切換
x             taglist窗口放大和縮小,方便查看較長的tag
+             打開一個摺疊,同zo
-             將tag摺疊起來,同zc
*             打開全部的摺疊,同zR
=             將全部tag摺疊起來,同zM
[[            跳到前一個文件
]]            跳到後一個文件
q             關閉taglist窗口
<F1>          顯示幫助 

能夠用」:TlistOpen「打開taglist窗口,用」:TlistClose「關閉taglist窗口。或者使用」:TlistToggle「在打開和關閉間切換。ide

  • 接着安裝Tasklist插件:下載TaskList.vim,而後把它放入plugin目錄下
  • 最後使用命令:TlistToggle打開taglist窗口,下圖展現了該窗口。4.MiniBufExplorer
  •   在Visual Studio或Eclipse中你打開的緩存會以tab的形式列在窗口的頂端或底部,在Vim中插件MiniBufExplorer來實現此功能。下載minibufexpl.vim並將其放在plugin目錄下。接着在vimrc中添加以下命令:oop

    let g:miniBufExplMapWindowNavVim =1
    let g:miniBufExplMapWindowNavArrows
    =1
    let g:miniBufExplMapCTabSwitchBufs
    =1
    let g:miniBufExplModSelTarget
    =1

      下圖展現了MiniBufExplorer的使用效果:spa

    5.Omnicompletion

      Vim7中添加了對文法提示和自動完成的支持,對於python來講需下載pythoncomplete.vim並將其放在<Vim安裝目錄>/<$VIMRUNTIME>/autoload/目錄下,接着在vimrc中添加以下命令:

    filetype plugin on
    set ofu
    =syntaxcomplete#Complete
    autocmd FileType python set
    omnifunc
    =pythoncomplete#Complete
    autocmd FileType python runtime! autoload/pythoncomplete.vim

      最後在編寫代碼時經過ctrl-x ctrl-o來打開文法提示上下文菜單,以下圖所示:

    參考文獻

    1.http://www.swaroopch.com/notes/Vim

    2.http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/

    3.http://www.phacks.net/macvim-code-completion-syntax-highlighting-for-python-pyqt4-twisted-on-mac-osx-snow-leopard/

    4.http://vim.wikia.com/wiki/Omni_completion

相關文章
相關標籤/搜索