2026-04-12

NeoVimでPythonの開発環境を整える

最近Pythonを書く機会が出てきたので、NeoVimでPythonを快適に書けるように開発環境を整えました。 LSP・リンター・フォーマッター・シンタックスハイライトの設定をまとめます。

導入するツール

今回導入したのは以下の3つです。

  • Pyright — 型チェックとコード補完を担当するLSPサーバー
  • Ruff — リントとフォーマットを1つでこなす高速なPythonツール
  • Tree-sitter — シンタックスハイライト用のPythonパーサー

調べると、PyrightとRuffを組み合わせるのは、現在のPython開発では定番の構成とのことでした。 Pyrightが型チェックと補完を、Ruffがリントとフォーマットをそれぞれ担当します。

LSPの設定

Pyright

.config/nvim/lsp/pyright.lua を作成します。

root_markers にPythonプロジェクトで使われる設定ファイルを指定しています。これにより、プロジェクトルートを正しく認識してくれます。

Ruff

.config/nvim/lsp/ruff.lua を作成します。

RuffはLSPサーバーとしても動作するので、ruff server コマンドで起動します。

LSPの有効化

plugin/lsp-config.lua でPyrightとRuffを有効化します。

Masonでの自動インストール

plugin/mason.luaensure_installed にPyrightとRuffを追加します。

これでNeoVimを起動した際にMasonが自動でインストールしてくれます。

Tree-sitterでシンタックスハイライト

lua/plugins/treesitter.lua の言語リストに python を追加します。 Tree-sitterにPythonのパーサーをインストールすることで、シンタックスハイライトやインデントが正しく動作するようになります。

まとめ

PyrightとRuffの組み合わせで、型チェック・補完・リント・フォーマットが一通り揃いました。 特にRuffはRust製で非常に高速なので、保存時のフォーマットもストレスなく動作します。

Thanks for the visit Nozo Blog