--- hackpadID: j5jz1sBtPP0 hackpadWorkspace: tossug tags: hackpad-import, tossug --- # Python 開發環境設定 * [Vim](/GYdhCYFNwNhhaADAYwCwFZ6ssAnPAI1WWHhAA5dIBGXAQzvV1CA=) * Emacs * Sublime Text ## Vim **Python Mode** * 網頁:[](https://github.com/klen/python-mode)[https://github.com/klen/python-mode](https://github.com/klen/python-mode) * 文件資料:[](https://github.com/klen/python-mode/blob/develop/doc/pymode.txt)[https://github.com/klen/python-mode/blob/develop/doc/pymode.txt](https://github.com/klen/python-mode/blob/develop/doc/pymode.txt) * 影片示範:[](https://www.youtube.com/watch?v=67OZNp9Z0CQ)https://www.youtube.com/watch?v=67OZNp9Z0CQ **安裝** * 使用Pathogen管理下的安裝 * 下載套件 * $ cd ~/.vim/bundle * $ git clone [](git://github.com/klen/python-mode.git)[git://github.com/klen/python-mode.git](git://github.com/klen/python-mode.git) * 在.vimrc啟動,加入以下內容 * " Pathogen load * filetype off * call pathogen#infect() * call pathogen#helptags() * filetype plugin indent on * syntax on * 使用vundle * 在.vim 加入 * Bundle ’klen/python-mode’ * 在vim下打:BundleInstall * (不確定是否必要) * 離開vim * :helptags ~/.vim/bundle/python-mode/doc **使用** * 執行 * \r * \為<leader> key的預設值 * 除錯 * \b * 設定中斷點,python mode會自動偵測除錯器,我使用pdb。不過**設中斷點後執行之後那些除錯命令要在那邊下還不清楚。** * 查詢 * 查詢目前statement使用方式 * K * 游標到要查詢的keyword * 查詢PyDoc資料 * :PymodeDoc 你要查詢的東西 * ex: :PymodeDoc print * 區塊折疊/展開 * zo * 展開 * zc * 折疊 * za * toggle * 以上的操作,o, c a換成O, C, A的話表示Apply到目前區塊下面所有的子區塊 * 移動 * [[ * 移動到游標上方第一層的block,通常是在查詢目前trace到哪個function或是class * ]] * 移動到游標下方第一層的block,通常是用於切換下一個function或是class * [m * 移動到游標上方class 第一個method * ]m * 移動到游標下方class 第一個method * 移動到定義(函數、class) * CTRL + C 後按g * 區塊處理 * 先定義處理方式x’, x’可代換複製(y),刪除(d),選取(v)等 * x’aC * 處理一個整個class * x’iC * inner, 處理目前游標包含的那整個class * x’aM * 處理一個整個method * x’iM * inner, 處理目前游標包含的那整個method <undefined>* .vimrc 設定更動</undefined> * 預設使用Python 2,更改使用Python 3 * let g:pymode_python = ’python3’ * 注意!這招要確認你的vim已經支援Python3,確認方式 * vim --version | grep python3 * 應該要有+python3,目前Ubuntu 14.04.1沒有看到 * 設定語法檢查工具,放這邊主要是可以檢查是否已經裝了相關套件了 * let g:pymode_lint_checkers = [’pyflakes’, ’pep8’, ’mccabe’] <undefined>* **Refactor**</undefined> * 使用rope,我沒使用過rope,故跳過 ## Emacs (待補)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up