vim執行python
❶ vim哪個版本支持python3
vim可以同時支持Python和python3.
現在所有的插件調用python的時候,執行的判斷是has(python'').
問題的沖突在於同時支持python,和python3的時候是動態調用的(可以用vim --version驗證),導致了has('python')返回結果出了問題.
簡單的說,就是vim編譯的時候只編譯python2.7即可.
❷ 如何在命令行里運行python腳本
語句執行方式:
step1. 輸入 python 進入 python 命令行
step2. 輸入 python 語句立即執行
❸ 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 的安裝和配置問題。
❹ linux如何編寫python腳本
在Linux環境下編寫python腳本
相關推薦:《Python教程》
1、首先定位到一個文件夾,然後使用vim編輯器:vim test.py 就創建了python腳本文件,並且進入編輯狀態。
2、編輯好之後按Esc鍵切換到命令模式,然後輸入:wq,按回車鍵就自動保存完成了,然後輸入python test.py,即可運行程序(前提是linux環境裝好python)。
❺ 如何使 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就可以了,希望遇到相同問題的人,能夠看到。
❻ Linux:Python編寫Linux自定義命令工具
摘要: Linux , Python
工作中需要頻繁使用到一個字元串的md5,因此編寫一個md5命令工具,輸入字元串直接得到輸出,並且命令支持參數設置,比如是否事先格式化,指定不同參數可以支持多功能輸出,操作步驟如下
直接vim一個腳本,腳本名md5不需要.py後綴,這樣更像一個命令,注意在腳本第一行引入python解釋器,並設置utf-8編碼
其中-f支持先格式化再得到md5,-l支持傳入多個字元串用空格分開
賦予可執行許可權
測試是否符合要求
直接放置到 /usr/local/bin 目錄下(需要root許可權)
也可以使用軟連接的方式,推薦使用絕對路徑
之後就可以在環境變數中直接使用到md5命令
shebang :中文翻譯「釋伴」,由 #! 開頭的字元串,出現在文本文件的 第一行 。類UNIX操作系統的程序載入器會分析shebang後的內容,將這些內容作為解釋命令,並調用該指令,並將載有 shebang的文件路徑作為該解釋器 的參數
比如 #!/bin/bash 就是使用/bin/bash作為解釋器運行腳本,如果以Python作為解釋器運行腳本先找到Python解釋器的路徑,一般在Linux自帶的 /usr/bin/python 是Python2版本,也可以指定其他Python版本 #!/opt/anaconda3/bin/python ,第二行為 # coding=utf-8 用來指定編碼格式,否則Python2輸出中文亂碼
對於自定義腳本,推薦放置在 /usr/local/bin 目錄,有多個可執行文件目錄在環境變數中,區別如下:
/bin : 包含二進制可執行文件,為系統最基本的命令,如ls等
/sbin : 與/bin 類似,不同之處是其為root許可權命令文件
/usr/bin : 系統預裝可執行文件,會隨著系統升級而改變
/usr/sbin : 同上,不同之處是其為root許可權運用
/usr/local/bin : 三級目錄,用戶自己的可執行文件,系統不管理
/usr/local/sbin : root許可權用戶程序