李升偉 整理
在 Python 高級進階中,使用 Vim 或 Vi 作為代碼編輯器可以顯著提升開發效率,尤其是在遠程服務器開發或快速腳本編輯時。以下是關于它們在 Python 開發中的高級應用詳解:
1. Vim/Vi 簡介
- Vi:經典的 Unix 文本編輯器,輕量但功能基礎。
- Vim(Vi Improved):Vi 的增強版,支持語法高亮、多窗口、插件系統等,適合編程。
2. 為什么用 Vim/Vi 開發 Python?
- 輕量高效:無需圖形界面,SSH 遠程開發時尤其方便。
- 高度可定制:通過配置文件和插件打造專屬 IDE。
- 鍵盤流操作:熟練后編輯速度遠超圖形編輯器。
3. Python 開發的關鍵配置
基礎配置(~/.vimrc)
syntax on " 語法高亮
set tabstop=4 " Tab 寬度為 4(符合 PEP8)
set shiftwidth=4 " 自動縮進寬度
set expandtab " Tab 轉空格
set number " 顯示行號
set autoindent " 自動縮進
filetype plugin indent on " 啟用文件類型檢測
Python 專用優化
autocmd FileType python setlocal foldmethod=indent " 基于縮進的代碼折疊
autocmd FileType python setlocal completeopt-=preview " 關閉補全預覽窗口
4. 必備插件(通過 Vim 插件管理器如 vim-plug)
- YouCompleteMe:代碼補全(支持 Python 語義補全)。
- ALE:異步語法檢查(集成 flake8、mypy)。
- python-mode:集成調試、重構、文檔查看。
- NERDTree:文件目錄樹。
- vim-python-pep8-indent:更智能的 PEP8 縮進。
安裝示例:
call plug#begin('~/.vim/plugged')
Plug 'davidhalter/jedi-vim' " Python 自動補全
Plug 'vim-syntastic/syntastic' " 語法檢查
Plug 'scrooloose/nerdtree' " 文件瀏覽器
call plug#end()
5. 高效操作技巧
代碼導航
- gd:跳轉到變量定義(需插件支持)。
- Ctrl + ] / Ctrl + t:標簽跳轉與返回。
調試支持
- pdb 集成:在 Vim 中直接插入 import pdb; pdb.set_trace(),通過終端調試。
- vim-test:運行 pytest/unittest。
重構示例
- 批量重命名變量:
:%s/old_var/new_var/gc " 全局替換(帶確認)
6. 調試與運行 Python
- 快速運行當前腳本:
:!python % " % 表示當前文件
- 分屏運行:
:term python % " 在 Vim 終端中運行(需 Vim 8.1+)
7. Vim vs. Vi 的選擇
- Vi:僅基礎編輯,適合極簡環境。
- Vim:推薦選擇,支持 Python 開發所需的所有高級功能。
8. 學習資源
- 交互式練習:vimtutor(命令行輸入即可)。
- 書籍:《Practical Vim》(Drew Neil)。
- 進階:掌握 :help 命令查閱 Vim 文檔。
通過深度定制 Vim,你可以獲得媲美 PyCharm 的高效開發體驗,同時保持極致的輕量性和靈活性。關鍵在于持續練習插件管理和快捷鍵操作!
(來自deepseek問答。)