使用 Vim 搭建 Python 開發環境

原文鏈接: //spacevim.org/cn/use-vim-as-a-python-ide/

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 模塊文檔。