wan0ri Lab

Neovimプラグインまとめ

はじめに

この記事では、現在の Neovim 構成で導入している主要プラグインを「用途別」に整理し、あわせて最小の操作方法(キーやコマンド)をまとめます。
各プラグインの GitHub リンクも併記します。

前提・環境

  • Plugin manager: lazy.nvim(ロックファイル運用)
  • Terminal: WezTerm(フォント MesloLGS NF、背景は不透明運用)
  • Leader キー: <Space>

お断り

この記事では、プラグインの機能の詳細説明などには触れません。
あくまで「導入しているプラグインの一覧と、主要な操作方法のまとめ」を目的としています。


Git / Diff(変更確認と操作)

lazygit(TUI クライアント)

brew install lazygit

gitsigns.nvim(行単位差分)

  • 変更行のサイン表示、ステージやリセットなど。

neogit(Magit ライク UI)

:Neogit で起動。コミット/branch/merge を対話的に。

diffview.nvim(差分/履歴)

代表コマンド: :DiffviewOpen / :DiffviewClose

vim-fugitive(低レベル Git)

:G blame などのコマンドが使える。

補足(lazygit の格納先と日本語化)

  • Lazygit 自体は TUI(プラグインではなく外部ツール)。macOS 既定の設定パスは ~/Library/Application Support/lazygit
  • 運用しやすいように ~/.config/lazygit に設定を置き、App Support 側はシンボリックリンクで統一。
    • コマンド例:
    mkdir -p ~/.config/lazygit
    ln -snf ~/.config/lazygit "~/Library/Application Support/lazygit"
  • 日本語化は ~/.config/lazygit/config.yml に次を追記:
gui:
  language: "ja"
  • Neovim からの起動: <leader>gg(toggleterm 経由のフロート表示)。

Markdown(書く・整える・プレビュー)

vim-table-mode(表整形)

:TableModeToggle で表モードのオン/オフ。

glow.nvim(端末内プレビュー)

依存: glow CLI(brew install glow)。:Glow、終了は q

markdown-preview.nvim(ブラウザプレビュー)

  • 初回は自動ビルド(要 Node.js)。
  • :MarkdownPreview / :MarkdownPreviewStop / :MarkdownPreviewToggle
  • ショートカット: <leader>mg(Glow)、<leader>mp(PreviewToggle)。

整形と lint

conform.nvim(保存時整形)

nvim-lint(markdownlint)


UI / 表示(テーマ・見やすさ)

tokyonight.nvim(既定テーマ、不透明)

lualine.nvim(ステータスライン)

dropbar.nvim(パンくず)

indent-blankline.nvim(インデントガイド)

hlchunk.nvim(ブロック可視化)

nvim-scrollbar(スクロールバーにマーク表示)

nvim-transparent(透過トグル、既定はオフ)

  • 透過の切替: <leader>uT。不透明が基本、必要時だけオンにする運用。

ナビゲーション / 検索

neo-tree.nvim(エクスプローラ)

  • 開閉 <C-b>、フォーカス <leader>e、現在ファイル <leader>er
  • 新規/コピー/貼付: a / c / p(末尾 / でディレクトリ作成)。

telescope.nvim(ファジー検索)

  • ファイル <C-p> / <leader>ff>、全文 <leader>fg>、バッファ <leader>fb>

ターミナル統合

toggleterm.nvim

  • 下/右/フロート: <leader>tt / <leader>tv / <leader>tf>
  • Lazygit トグル: <leader>gg>

LSP / 補完 / 整形 / 診断

mason.nvim + mason-lspconfig + lspconfig(LSP 管理)

nvim-cmp(補完本体): https://github.com/hrsh7th/nvim-cmp

ソース: cmp-nvim-lsp / cmp-buffer / cmp-path / cmp-nvim-lsp-signature-help

スニペット: LuaSnip + friendly-snippets


補助: lspkind.nvim(アイコン), nvim-autopairs(括弧)


整形: conform.nvim(保存時)


診断: nvim-lint(Markdown/YAML ほか)


スキーマ: SchemaStore.nvim(YAML/JSON)


Lua 開発補助: neodev.nvim

  • .luarc.jsonLua.diagnostics.globals=["vim"] も用意して誤検知を防止。

マルチカーソル


その他(未分類・ユーティリティ)

  • barbar.nvim(バッファタブ)
    • 移動: <leader>bn / <leader>bp、クローズ: <leader>bd、ダイレクト: <leader>1<leader>9
  • winresizer(分割サイズ変更)
    • :WinResizerStartResize でサイズ変更モード
  • nvim-surround(囲み編集)
    • 代表操作: ys{motion}{char} 追加 / ds{char} 削除 / cs{from}{to} 変更
  • treesj(配列/引数の split/join)
    • トグル: <leader>tj
  • nvim-various-textobjs(追加テキストオブジェクト)
    • デフォルトキーマップ有効。詳細は :h various-textobjs を参照
  • vim-commentary(コメント)
    • gc / gcc
  • vim-operator-replace(オペレータ置換)
    • gr{motion}
  • vim-tmux-navigator(tmux連携移動)
    • Ctrl-h/j/k/l で tmux も跨いで移動
  • vim-translator(翻訳)
    • <leader>tr 翻訳 / <leader>tR 置換で反映
  • auto-save.nvim(自動保存)
    • 挿入終了/入力停止で自動保存(デフォルト ~1s)
  • git-messenger.vim(行の最終コミットポップアップ)
    • <leader>gm
  • blamer.nvim(行末 blame 表示)
    • <leader>gB トグル

最後に

他にも導入したものについては、このブログに随時まとめていきます。
次回は MCP サーバー導入編(導入したサーバーの説明と手順)をまとめます。