使用 Vim 搭建 C/C++ 開發環境

SpaceVim 是一個模塊化的 Vim IDE,針對 C/C++ 語言的支持主要依靠 lang#c 模塊以及與之相關的其它模塊。
的這篇文章主要介紹如何使用 SpaceVim 搭建 C/C++ 的開發環境,側重介紹跟 C/C++ 開發相關使用技巧。
在閱讀這篇文章之前,可以先閱讀《使用 Vim 搭建基礎的開發環境》,對語言相關以外的功能有一個大致的瞭解。

安裝模塊

SpaceVim 初次安裝時默認並未啓用相關語言模塊。首先需要啓用
lang#c 模塊,通過快捷鍵 SPC f v d 打開配置文件,添加如下片斷:

[[layers]]
  name = "lang#c"

啓用 lang#c 模塊後,在打開 C/C++ 文件時,就可以使用語言專屬快捷鍵,這些快捷鍵都是以 SPC l 爲前綴的。

代碼自動補全

autocomplete 模塊爲 SpaceVim 提供了自動補全功能,目前針對 C/C++ 而言,比較好的補全方案是配合使用 lsp 模塊:

[[layers]]
  name = "lsp"

lsp 模塊默認使用 clangd 作爲 C/C++ 的語言服務器後臺命令。

在配置文件中添加如下內容即可爲 C/C++ 啓用語言服務器:

[[layers]]
  name = "lsp"
  filetypes = [
    "c",
    "cpp"
  ]
  [layers.override_cmd]
    c = ["clangd"]

語法檢查

checkers 模塊爲 SpaceVim 提供了語法檢查的功能,該模塊默認已經載入。該模塊默認使用 neomake
這一異步語法檢查工具。對於 C/C++ 的支持,是通過異步調用 gcc 命令來完成的。

工程文件跳轉

SpaceVim 自帶工程管理插件,可以識別項目根目錄,自動跳轉 alternate 文件。需要在項目根目錄添加工程文件 .project_alt.json

{
  "*.c": {"alternate": "{}.h"},
  "*.h": {"alternate": "{}.c"}
}

通過以上的配置,就可以使用命令 :A 在源文件和測試文件之間進行跳轉。

代碼格式化

C/C++ 代碼格式化,主要依賴 format 模塊,快捷鍵爲 SPC b f,異步執行 clang-format 命令:

[[layers]]
  name = "format"

快速運行

在編輯 C/C++ 文件時,可以快速運行當前文件,默認的快捷鍵是 SPC l r 。按下後,
會在屏幕下方打開一個插件窗口,運行的結果會被展示在窗口內。於此同時,光標並不會跳到該插件窗口,避免影響編輯。在這裏需要說明下,

[圖片上傳失敗...(image-34c382-1595342859726)]

交互式編程

在編輯 C/C++ 文件時,可通過快捷鍵 SPC l s i 啓動 php -a 交互窗口,
之後使用快捷鍵將代碼發送至解釋器。默認快捷鍵都以 SPC l s 爲前綴。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章