將 Vim 打造成 python IDE

wsdjeg發表於2020-04-04

原文連結:spacevim.org/layers/lang…

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 命令。因此,在執行這個快捷鍵之前,應當先儲存一下該檔案。

code runner

程式碼格式化

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 傳送選中的區域:

pythonrepl

斷點除錯

首先,需要載入 debug 模組:

[[layers]]
   name = "debug"
複製程式碼

該模組提供了一套基本的除錯快捷鍵,比如新增斷點、單步執行等,更多的快捷鍵,可以參考 debug 模組文件。

相關文章