LoginSignup
0
0

More than 1 year has passed since last update.

Vim + vim-lsp で C ソースの #if 分岐に色付けする

Last updated at Posted at 2022-09-11

このページでは、 Vim + vim-lsp を使って、 C 言語で書かれたソースコードのプリプロセッサ分岐に色付けを行う方法を紹介します。以下の動画のように有効になっている分岐以外はコメントと同じ色付けとなります。これは Semantic highlighting という機能によるものです。

vim-semantic.gif

↑ の動画が動いていない場合は、クリックすると再生されるはずです

設定方法

vim-lsp と clangd 11.0 以降をインストールして、 g:lsp_semantic_enabled を 1 にすると設定完了です。

vim-lsp をインストール

clangd 11.0 以降をインストール

内部で使用する clangd は 11.0 以降が必要となります。以下から LLVM 15.0.0 などをダウンロードしてインストールして clangd に PATH を通してください。

vim-lsp-settings を使っている場合は、 C ソースを開いた状態で :LspInstallServer を実行すると良いです。ただし、 Windows で :LspInstallServer を使う場合は 497b535 (2022/09/11) 以降の vim-lsp-settings を使う必要があります。

vimrc の設定

以下の設定を .vimrc などに追加してください。

let g:lsp_semantic_enabled = 1

まとめ

以下で Semantic highlighting が有効になります。

  • vim-lsp をインストール
  • clangd 11.0 以降をインストール
  • g:lsp_semantic_enabled を 1 にする

プリプロセッサ分岐の多い C ソースを読むときに、無効な分岐がグレーアウトされる、という理由で VSCode を使うケースもあったのですが、これで解決。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0