如何使vim支持python
❶ windows10 部署完gvim怎麼用python
1)安裝Python2.7,我安裝到了D:\Program Files\Python27,將此路徑添加到環境變數;
2)安裝gvim,我安裝到了D:\Program Files (x86)\Vim,將路徑D:\Program Files (x86)\Vim\vim80添加到環境變數;
3)安裝Ctags,下載文件解壓後將文件內ctags.exe文件拷貝到D:\Program Files (x86)\Vim\vim80路徑下;
4)安裝Taglist,下載文件解壓後將plugin文件中的taglist.vim文件拷貝到D:\Program Files (x86)\Vim\vim80\plugin路徑下;
5)安裝Pydiction,下載文件解壓後將complete-dict,pydiction和after\ftplugin路徑下的python_pydiction.vim這三個文件拷貝到D:\Program Files (x86)\Vim\vim80\ftplugin路徑下。
❷ 如何在VIM中指定Python解釋器版本
你可能不想(或至少不應該) code> python3 作為vim的默認python解釋器,因為你的插件的一些(大部分)將變得不兼容,例如 YouCompleteMe 和 clang_complete 本身,因為他們沒有 python3 支持。通常,支持 python3 的插件可以讓您決定是否要通過添加到 .vimrc
let g:syntastic_python_python_exec ='python3'
解決方案: :echo has('python')顯示 0 實際上告訴你vim可能不是用 python2 編譯的。所以首先檢查 vim --version 的輸出,你應該能夠看到你的編譯器構建vim的共享庫列表。你看到以下? (例如對於python 2.7):
-L / usr / lib / python2.7 / config-x86_64-linux-gnu - lpython2.7
如果沒有(或者如果你看到 -lpython2.x 和 -lpython3.x 我建議你從源代碼編譯vim,具體鏈接到 -lpython2.x
sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-common vim-gui-common
clone vim mercurial
hg clone htvim/
cd vim
,然後使用以下標志運行 ./ configure :
./configure --with-features = huge \
--enable-cscope \
--enable-pythoninterp \
--enable-largefile \
--with-python-config-dir = / usr / lib / python2.7 / config
您還可能想要鏈接 ruby 和 lua 如果需要,然後最後運行
make build
make install
這里是shell腳本,將自動執行整個過程為你。這可能有點過分,但我認為這是你應該如何處理這不與運行與您的未來包的兼容性問題。
❸ vim不支持python,是不是缺少什麼東西
問題可能來自兩方面: vim 沒有把 python 支持特性編譯進來;或者編譯支持的 python 與本地安裝的版本不兼容。
1. 只有編譯的時候帶了 python 支持的 vim 才能使用相關的功能。要想知道 vim 是否帶了編譯時的支持,使用:
:version
看有沒有 +python 之類的字樣。如果是 + 號,表示支持,如果是 - 號就是不支持(像我截圖中標出的 postscript 就是 -)。python 代表 python 2,python3 表示 python 3 的支持情況。
pythonthreedll=python35.dll
這樣你的電腦里必需要安裝 python 3.5 才可以配合 vim 使用。注意一定要是標准版的才行,定製版(比如 Anaconda)是不行的。
vim 和 python 有相當深入的交互。除了簡單的交互執行 python 語句和返回結果外,vim 的內部的數據結構(比如緩沖區、窗口之類的)和 vim-script 腳本的執行介面也全對 python 開放。因此對 python 各版本支持的靈活性就要差一些,需要在編譯階段就確定。
如果想兼容你電腦上已有的 python,需要在你的電腦上重新編譯 vim,這通常比較困難。在你的電腦上配置兩套 python 環境要相對容易很多。或者如果你對 python 的要求並不高的話,就用 vim 支持的那版也行。
以上的回答假定您已經對 python 有一定的了解,並且可以自己正確的安裝和配置 python 的環境。如果拋開 vim,python 都不能正確執行,那麼需要先解決 python 的安裝和配置問題。
❹ 怎樣根據不同的語言調用不同的vim配置文件
如果 vim 能夠識別某種語言的類型,那麼就會載入和該類型有關的語言配置。如鍵映射、語法高亮等。
如果你想自己增加一些需要的配置文件,那麼在 ~/.vim/ 下(windows 系統則是我的文檔下的 vimfiles 文件夾下)增加配置文件即可(如果沒有這個文件夾,自己創建就好,但名字一定不要搞錯)。
這個文件夾下,還有如下子文件夾(依然沒有就創建):
after/
autoload/
colors/
compiler/
doc/
ftdetect/
ftplugin/
indent/
keymap/
plugin/
syntax/
其中 ftplugin 用於你自己定義類型文件的擴展插件,ftdetcet 用來定義類型文件自動識別,indent 用於定義類型文件的自動縮進,syntax 用於定義類型文件的語法高亮。
如果你要定義 c 語言的特殊配置,文件名就要叫 c.vim。如果是 python,文件名就是 python.vim。
換言之,你想定義一組 c 言語鍵映射,就寫一個叫 c.vim 的腳本(這需要不少技巧,需要學習一些編寫 vim 腳本的知識),然後放到 ftplugin 里去。如果是想定義c語言的語法高亮,就寫一個 c.vim 的語法高亮腳本,放到 syntax 裡面。
由於 vim 已經自帶了很多這樣的腳本,(在 vim 的安裝目錄下,目錄的組織形式和你自定義的一樣),所以通常不需要自己配置太多。如果自己有需要,可以簡單的加一些。
如果你的問題是指,某個語言文件沒有被正確識別,那麼可以了解下 vim 自動識別的過程:
首先 vim 根據文件的擴展名來判斷文件的內容,比如 .c 就會認為是 C 語言文件。.py 就會認為是 python。.txt 就會認為是普通文本。
如果沒有擴展名的文件,vim 也會通過文件內容來做簡單的識別。這一般是掃描文件的開頭數行(有些語言只掃描前5行,也有些會掃描幾百行),看是否出現某種語言的特徵。一但出現,便識別成相應的語言。但這發生在載入一個文件的時候。如果你是新建了一個沒有擴展名的文件,那麼之後再往裡輸入內容,vim 就不會再去識別了。
如果一個文件沒有被識別,或識別錯誤。你也可以手動指定:
:setfc
來把之設置成你需要的語言。c 那裡寫實際語言的名字。如果你發現之後文件的內容正確的顯示了語法高亮,那麼就說明這個設置已經成功了。
❺ 如何使 Vim 下開發 Python 調試更方便
剛開始用vim寫python的時候,感覺很不方便,於是就用了圖形界面的Pycharm(如果是windows用戶,這個IDE應該是標配),用了一段時間也沒有覺得有什麼不好,不過,腦子里總是會想起《程序員修煉之道》中,那句」最好是精通一種編輯器,並將其用於所有編輯任務。如果不堅持使用一種編輯器,可能會面臨現代的巴別特大混亂。」所以,我又決定用vim來寫python。
在知乎上有很多vim寫python的插件推薦,不過我感覺很多人回答都不動腦子,這些回答主要有兩個問題:
回答不全面,很多人都只是推薦一款插件,然後貼個鏈接就完了,如果要想很爽的用vim寫python,可以肯定的是,一款插件是不夠的
貼上自己的配置,說自己的配置有多爽,然後就不管了。如果是一個vim新手,是用不著這么多配置的,如果是一個vim老手,也不會放棄自己原有的配置,使用別人自定義、認為很爽的個性化配置
- 1. 一鍵執行
- """""""""""""""""""""" "Quickly Run """"""""""""""""""""""
- map <F5> :call CompileRunGcc()<CR>
- func! CompileRunGcc()
- exec "w"
- if &filetype == 'c'
- exec "!g++ % -o %<"
- exec "!time ./%<"
- elseif &filetype == 'cpp'
- exec "!g++ % -o %<"
- exec "!time ./%<"
- elseif &filetype == 'java'
- exec "!javac %"
- exec "!time java %<"
- elseif &filetype == 'sh'
- :!time bash % elseif &filetype == 'python'
- exec "!time python2.7 %"
- elseif &filetype == 'html'
- exec "!firefox % &"
- elseif &filetype == 'go' " exec "!go build %<"
- exec "!time go run %"
- elseif &filetype == 'mkd'
- exec "!~/.vim/markdown.pl % > %.html &"
- exec "!firefox %.html &"
- endif
- endfunc
- 2. 代碼補全(snipMate)
- if __name__ == '__main__':
- main()
- for needle in haystack: # code...
snipMate
xptemplate
- 3. 語法檢查(Syntastic)
- 4. 編程提示(jedi-vim)
- sudo aptitude install vim-gnome vim vim-common vim-tiny
- 至於調試,難道你們不是用ipdb的嗎?如果不是,趕緊用用,你們會喜歡的。
所以,這些回答都不是很靠譜。我爭取推薦一些靠譜的東西,那麼,就開始吧!
這個不是插件,而是一個自定義的vim配置。很多時候我們寫python,都是寫一些較為簡單的腳本,那麼,這個一鍵執行的功能就非常實用,我個人感覺最實用的是在寫單元測試的時候,寫完一個單元測試,都不用退出vim,立即執行就能看到結果。
將下面的配置放到.vimrc文件即可:
代碼補全能夠顯著地減少你敲鍵的次數,並且將你從瑣碎的語法中解放出來。說白了,就是幫你寫代碼!
如果使用snipMate插件,那麼,當你輸入ifmain以後按tab鍵,將會自動為你生成下面的代碼:
輸入for,再按tab鍵,生成如下代碼:
代碼補全有兩款插件都比較不錯,可以根據自己的需要進行選擇:
syntastic是一款強大的語法檢查插件,當你保存源文件時,它就會執行,並提示用戶哪些代碼存在語法錯誤,哪些代碼風格不符合規范,並給出具體的提示。
例如,python代碼風格默認設置為PEP8,即使你不知道PEP8的風格,只要你使用syntastic插件,並根據它給出的提示修改,那麼,你就能寫出完全符合PEP8風格的代碼!
jedi-vim是基於jedi的自動補全插件,與Syntastic 不同的是,該插件更加智能,更貼切的稱呼是」編程提示」,而不是代碼補全插件。
如下圖所示:
可以說,這個插件是寫vim的標配,並且,真正讓vim寫python變成一件輕松愉快的事情。
注意: 安裝驚jedi-vim插件,需要在電腦中安裝jedi,根據jedi-vim給出的提示,正常按裝即可。不過我之前遇到一個問題,在公司的虛擬機裡面,安裝以後不起作用,google了半天沒有成功,最後更新了一下vim就可以了,希望遇到相同問題的人,能夠看到。
❻ 使用vim搭建python開發環境-
最近開始經常需要用vim寫代碼,這里記錄一下自己利用vim搭建基本的python開發環境所使用的插件和一些基本配置
在 ~/.vimrc 文件中,添加如下的信息,完成vim的一些基本配置。
從 GitHub clone Vundle.vim 文件到 ~/.vim/bundle 文件夾下,完成Vundle的安裝。
然後修改 ~/.vimrc 文件,添加如下的信息
若使用 Vundle 安裝 nerdcommenter 插件,需要中 Vim 的配置文件中添加
然後在 Vim 的命令行模式下執行 :BundleInstall 命令完成插件的安裝
nerdcommenter的主要使用方式:
然後在 Vim 的命令行模式下執行 :BundleInstall 命令完成插件的安裝
通過vundle安裝好NERDTree插件後,在vim命令行模式輸入命令:NERDTree就可以看到NERDTree的顯示界面。
使用組合按鍵 Ctrl + w,可將游標自動在左右側窗口進行切換。
如果想要每次啟動vim的時候都默認開啟NERDTree。可以在vimrc文件中添加:
jedi-vim插件依賴python開源庫 「jedi」 ,可以使用pip安裝:
Vim 普通模式下按 F7 便可以直接啟動 flake8 對當前文件進行語法和格式檢查。
以上是我自己用的vim工具配置,如果大家有其他的好用的插件或者配置插件,歡迎一起交流分享呀