## 経緯 1年半前に[[Obsidian]]の[[Vault]]を管理するため[[markdown-oxide]]を試したことがある。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" /> <span class="link-card-v2-site-name">Minerva</span> </div> <div class="link-card-v2-title"> 📜2024-08-19 markdown-oxideをNeovimで使ってみる </div> <div class="link-card-v2-content">NeovimのMarkdownに対するLSPはMarksmanを使っていた。しかし、Marksmanにはいくつか不足していると感じる点がある。</div> <img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/activity.webp" /> <a data-href="📜2024-08-19 markdown-oxideをNeovimで使ってみる" class="internal-link"></a> </div> %%[[📜2024-08-19 markdown-oxideをNeovimで使ってみる]]%% このときは機能が不足していたので、結局[[obsidian.nvim]]をforkすることにした。 それからしばらく経ち、[[Vault]]の管理をふたたび[[Obsidian]]に統一した。[[Neovim]]では[[obsidian.nvim]]を使わなくなったので、それにより[[Markdown]]をサポートする[[LSP]]的な存在がなくなっていた。 さらに最近、ファイル内のシンボル検索を[[aerial.nvim]]から[[snacks.picker]]に移行した。[[カレントファイルのシンボル一覧を表示 (snacks.picker)|カレントファイルのシンボル一覧を表示]]できるようになった反面、[[Markdown]]の構造も[[LSP]]で取得するようになったので、[[Markdown]]の見出し一覧を表示することができなくなった。 そこで、[[Markdown]]用の[[LSP]]を再び導入することにした。以前のようにハイレベルの要件は必要なくなったため、ふたたび[[markdown-oxide]]を試してみることにした。 ### 環境 | 対象 | バージョン | | --------------------------------- | --------- | | [[macOS]] | 15.7.2 | | [[Neovim]] | 0.11.5 | | [[nvim-lspconfig]] | `41ceb6b` | | [[blink.cmp (Neovim)\|blink.cmp]] | `b19413d` | | [[markdown-oxide]] | 0.25.10 | | [[Cargo BInstall]] | 1.16.6 | ## インストール > [GitHub - Feel-ix-343/markdown-oxide: PKM Markdown Language Server](https://github.com/Feel-ix-343/markdown-oxide?tab=readme-ov-file#neovim) ```console brew install markdown-oxide ``` ## [[nvim-lspconfig]]の設定 > [nvim-lspconfig/doc/configs.md at master · neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#markdown_oxide) `after/lsp/markdown_oxide.lua` ```lua return {} ``` [[LSP]]設定で以下を追加。 ```lua vim.lsp.enable({ "markdown_oxide", }) ``` ## オートコンプリートについて 今は不要だと思うのでしない。