Re: [新手] 在vim上如何編輯python?

看板Editor (編輯器(vim/emacs))作者 (要把自己逼緊一點)時間14年前 (2010/09/08 22:49), 編輯推噓2(200)
留言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
這一篇文章值 636 元
09/09 01:01, 2F
※ 編輯: Holocaust123 來自: 140.112.30.32 (10/02 05:27)
文章代碼(AID): #1CXwAI9w (Editor)
討論串 (同標題文章)
文章代碼(AID): #1CXwAI9w (Editor)