SpaceVim 是一個模組化的 Vim IDE,針對 Python 這一語言的支援主要依靠 lang#python
模組以及與之相關的其它模組。的這篇文章主要介紹如何使用 SpaceVim 搭建 Python 的開發環境,側重介紹跟 Python 開發相關使用技巧。在閱讀這篇文章之前,可以先閱讀《使用 Vim 搭建基礎的開發環境》,對語言相關以外的功能有一個大致的瞭解。
安裝模組
SpaceVim 初次安裝時預設並未啟用相關語言模組。首先需要啟用
lang#python
模組,通過快捷鍵 SPC f v d
開啟配置檔案,新增:
[[layers]]
name = "lang#python"
複製程式碼
啟用 lang#python
模組後,在開啟 Python 檔案是,就可以使用語言專屬快捷鍵,這些快捷鍵都是以 SPC l
為字首的。
程式碼自動補全
autocomplete
模組為 SpaceVim 提供了自動補全功能,該模組會根據當前環境自動在多種補全引擎之間選擇合適的,預設的補全引擎有:deoplete、neocomplete、ycm、asyncomplete 以及 neocomplcache。幾種自動補全引擎當中,要數 deoplete 的體驗效果最好。
語法檢查
checkers
模組為 SpaceVim 提供了語法檢查的功能,該模組預設已經載入。該模組預設使用 neomake
這一非同步語法檢查工具。對於 Python 的支援,是通過非同步呼叫 flake8 命令,因此需安裝,可通過 pip 命令來完成:
pip install --user flake8
複製程式碼
匯入模組
在編輯 Python 檔案時,可以自動匯入包、自動刪除無用的包、排序格式化導包;需要安裝 isort,可通過以下命令安裝:
pip install --user isort
複製程式碼
工程檔案跳轉
SpaceVim 自帶工程管理外掛,可以識別專案根目錄,自動跳轉 alternate 檔案。
快速執行
在編輯 Python 檔案時,可以快速執行當前檔案,這個功能有點類似於 vscode 的 code runner 外掛,預設的快捷鍵是 SPC l r
。按下後,
會在螢幕下方開啟一個外掛視窗,執行的結果會被展示在視窗內。於此同時,游標並不會跳到該外掛視窗,避免影響編輯。在這裡需要說明下,
這一功能是根據當前檔案的路徑呼叫相對應的 Python 命令。因此,在執行這個快捷鍵之前,應當先儲存一下該檔案。
程式碼格式化
Python 程式碼格式化,主要依賴 format
模組,同時需要安裝相關的後臺命令 yapf:
[[layers]]
name = "format"
複製程式碼
安裝 yapf:
pip install --user yapf
複製程式碼
互動式程式設計
在編輯 Python 程式碼時,經常需要執行程式碼中的某一行,或者某一段程式碼。這時候,就可以使用 SpaceVim 的互動式程式設計框架。首先需要啟用一個後臺程式,
可以是 python 命令,也可以是 ipython 命令,快捷鍵為 SPC l s i
。 啟動後效果圖如下:
之後,可以通過 SPC l s l
進行逐行傳送,也可以選中區域後按 SPC l s s
傳送選中的區域:
斷點除錯
首先,需要載入 debug 模組:
[[layers]]
name = "debug"
複製程式碼
該模組提供了一套基本的除錯快捷鍵,比如新增斷點、單步執行等,更多的快捷鍵,可以參考 debug 模組文件。