Re: [新手] 在vim上如何編輯python?
看板Editor (編輯器(vim/emacs))作者Holocaust123 (要把自己逼緊一點)時間14年前 (2010/09/08 22:49)推噓2(2推 0噓 0→)留言2則, 2人參與討論串2/2 (看更多)
※ 引述《joohsieh (亞策)》之銘言:
: 一個星期前因為XP整個擺爛,轉個方向用了Ubuntu
: 因緣際會對python有點興趣,不過本身沒有程式的底子
: 找了一些資料,在terminal上做了點基本的練習
: 不過要進到「寫」的階段似乎需要個編輯器
: 看到有些人建議vim這個強大的文字編輯器
: 但是我悟性實在太低...
: 看了一大串的說明文件還是一頭霧水
: 請問要怎麼使用vim來編寫python?
我目前的做法是這樣, 給你參考看看
(下面有些內容是直接從我的筆記剪下貼上的,
只有排版而已, 所以有些句子看起來怪怪的,
不過應該還是看得懂...)
1.一鍵執行py檔
在.vimrc中加入:
autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
autocmd BufRead *.py set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
autocmd FileType python map <buffer> <F9> <ESC>:w<CR>:!python %<CR>
autocmd FileType python imap <buffer> <F9> <ESC><F9>
autocmd BufRead *.py map <F10> <ESC>:w<CR>:make<CR>
autocmd BufRead *.py imap <F10> <ESC><F10>
打開的檔案是py檔時,
按 F9 可儲存並執行, 按 F10 可檢查語法有無錯誤,
若有, 打開quickfix視窗(:copen或:cope)可以看哪裡錯了;
若無, 則產生pyc檔
附註: 我在XP上用gVim測試後
發現py檔的檔名若有空白或非ascii字元的話
過程會出現亂碼, 無法執行:
http://www.dumpt.com/img/viewer.php?file=et165vb3285gjhsxnco6.jpg
有人知道怎麼解決嗎orz
2.real-time的程式碼校驗
名稱:PyFlakes
載點:http://www.vim.org/scripts/script.php?script_id=2441
功能:打開py檔後有問題的行的底下會出現波浪線
把光標移過去那行
狀態列會顯示出了什麼問題
(ex:語法錯誤, 引入了module但沒使用, ...)
網站有講PyFlakes可以檢查的問題種類
像PyFlakes一樣的校驗程式還有Pylint, PyChecker等
安裝:1.在_gvimrc中加入:
filetype plugin indent on
2.解壓到vimfiles/ftplugin/python
3.gvim.exe跟vim.exe必須支援python 2.5以上
載點:http://www.gooli.org/blog/gvim-72-with-python-2526-support-windows-binaries/
(看電腦灌哪個版本的python就抓哪個zip)
(偷偷徵求會編python 2.5進vim的人, 我想學...)
4.查看vim支援的python版本的方法
在vim shell中輸入以下指令:
python import sys; print sys.version
3.快速單行/多行註解 & 反註解
名稱:comments.vim
載點:http://www.vim.org/scripts/script.php?script_id=1528
功能:針對多種語言提供單行或區塊註解及反註解
安裝:放到plugin資料夾
用法:normal mode中按<A-3>或<A-4>, 分別為單行注解及反注解
visual mode中按<A-3>或<A-4>, 分別為多行注解及反注解
(預設是<C-c>跟<C-x>, 我改成<A-3>跟<A-4>)
(建議用line visual mode,否則註解符號會不整齊)
注意:1.預設的熱鍵(<C-c>, <C-x>)覺得不好用的話,
可直接從comments.vim中作修改
2.預設不支援py檔, 要自已加到comments.vim中
附註:其實我比較想用Ctrl+/跟Ctrl+\取代Alt+3跟Alt+4
無奈找很久還是不知道怎麼 map Ctrl+/跟Ctrl+\
有好心人可以教一下嗎 > <
4.code completion
名稱:Pydiction
功能:當檔案的副檔名是py時,
用Tab可自動補完python的關鍵字, module名稱, ...等
安裝:
1. 把python_pydiction.vim放在:
C:\Program Files\Vim\vimfiles\ftplugin\
2. 把pydiction資料夾(內含pydiction.py、complete-dict、README.txt):
放在C:\Program Files\Vim\vimfiles\ftplugin\
3 .在_gvimrc加入:
filetype plugin on
let g:pydiction_location='C:/Program Files/Vim/vimfiles/ftplugin/pydiction/complete-dict'
用法:字打一半按Tab, 就會跳出選擇清單
ex: pri<Tab> => print
print(
print_function
...
注意:1. python_pydiction.vim的位置不可更改,
一定要放在C:\Program Files\Vim\vimfiles\ftplugin\
2. pydiction的位置可任意更改,
但要記得同時修改g:pydiction_location的值
3. XP下, g:pydiction_location的字串內用斜線(/)而非反斜線(\);
可用單引號(')或雙引號('')包住字串
Linux下,
let g:pydiction_location=$HOME.'/.vim/ftplugin/pydiction/complete-dict'
4. 需在_gvimrc中加入下面這行, 否則pydiction不會生效:
set nopaste
5.適合py檔的折疊方式
"打開py檔時, 用縮排當折疊的單位
au FileType python set foldmethod=indent
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.32
推
09/08 22:59, , 1F
09/08 22:59, 1F
推
09/09 01:01, , 2F
09/09 01:01, 2F
※ 編輯: Holocaust123 來自: 140.112.30.32 (10/02 05:27)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Editor 近期熱門文章
PTT數位生活區 即時熱門文章