Vim駅伝2026-06-10の記事です。
kakehashiを使うと、Markdownのコードブロックみたいな、ソースコード内に埋め込まれた別言語でも補完や定義ジャンプといったインテリジェントな機能を活用できます。
そんな便利なkakehashiにコードブロックのフォーマット機能をつけました!動作の様子は以下!是非使ってみてください。
ちなみに、例はマークダウンなだけで、実際には様々な文書フォーマットに拡張可能です。 Emacs Orgでも動作を確認してますが、なんだかフォーマット結果が崩れてるのでここは調査します……。
導入方法(Neovimの場合)
kakehashi (CLI)をインストール
cargo install --git https://github.com/atusy/kakehashi
kakehashi (CLI)を設定
~/.config/kakehashi/kakehashi.tomlを作成kakehashiで使いたい言語の言語サーバーを設定
# kakehashi.toml [languageServers.basedpyright] cmd = ["basedpyright-langserver", "--stdio"] languages = ["python"]
nvim-lspconfigプラグインを導入し、設定で
vim.lsp.enable("kakehashi")を実行vim.lsp.buf.format()を実行、またはプラグイン経由でLSP formatを発火
ENJOY!!
kakehashiについてもっと詳しく知りたい方は、リポジトリのREADMEを参照してください。スターつけてただけるとモチベーション爆上がりします!!
RユーザーとしてはPositron対応が気になるところかと思いますが、未対応です!乞うご期待!!
スポンサーもお待ちしてます!
Atusy's blog