はじめに
この記事では、現在の Neovim 構成で導入している主要プラグインを「用途別」に整理し、あわせて最小の操作方法(キーやコマンド)をまとめます。
各プラグインの GitHub リンクも併記します。
前提・環境
- Plugin manager: lazy.nvim(ロックファイル運用)
- Terminal: WezTerm(フォント MesloLGS NF、背景は不透明運用)
- Leader キー:
<Space>
お断り
この記事では、プラグインの機能の詳細説明などには触れません。
あくまで「導入しているプラグインの一覧と、主要な操作方法のまとめ」を目的としています。
Git / Diff(変更確認と操作)
lazygit(TUI クライアント)
brew install lazygit
gitsigns.nvim(行単位差分)
Git integration for buffers. Contribute to lewis6991/gitsigns.nvim development by creating an account on GitHub.
- 変更行のサイン表示、ステージやリセットなど。
neogit(Magit ライク UI)
An interactive and powerful Git interface for Neovim, inspired by Magit - NeogitOrg/neogit
:Neogit で起動。コミット/branch/merge を対話的に。
diffview.nvim(差分/履歴)
Single tabpage interface for easily cycling through diffs for all modified files for any git rev. - sindrets/diffview.nvim
代表コマンド: :DiffviewOpen / :DiffviewClose。
vim-fugitive(低レベル Git)
fugitive.vim: A Git wrapper so awesome, it should be illegal - tpope/vim-fugitive
: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(表整形)
VIM Table Mode for instant table creation. Contribute to dhruvasagar/vim-table-mode development by creating an account on GitHub.
:TableModeToggle で表モードのオン/オフ。
glow.nvim(端末内プレビュー)
A markdown preview directly in your neovim. Contribute to ellisonleao/glow.nvim development by creating an account on GitHub.
依存: glow CLI(brew install glow)。:Glow、終了は q。
markdown-preview.nvim(ブラウザプレビュー)
markdown preview plugin for (neo)vim. Contribute to iamcco/markdown-preview.nvim development by creating an account on GitHub.
- 初回は自動ビルド(要 Node.js)。
:MarkdownPreview/:MarkdownPreviewStop/:MarkdownPreviewToggle- ショートカット:
<leader>mg(Glow)、<leader>mp(PreviewToggle)。
整形と lint
conform.nvim(保存時整形)
Lightweight yet powerful formatter plugin for Neovim - stevearc/conform.nvim
nvim-lint(markdownlint)
An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support. - mfussenegger/nvim-lint
UI / 表示(テーマ・見やすさ)
tokyonight.nvim(既定テーマ、不透明)
🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, …
lualine.nvim(ステータスライン)
A blazing fast and easy to configure neovim statusline plugin written in pure lua. - nvim-lualine/lualine.nvim
dropbar.nvim(パンくず)
IDE-like breadcrumbs, out of the box. Contribute to Bekaboo/dropbar.nvim development by creating an account on GitHub.
indent-blankline.nvim(インデントガイド)
Indent guides for Neovim. Contribute to lukas-reineke/indent-blankline.nvim development by creating an account on GitHub.
hlchunk.nvim(ブロック可視化)
This is the lua implementation of nvim-hlchunk, you can use this neovim plugin to highlight your indent line and the current chunk (context) …
nvim-scrollbar(スクロールバーにマーク表示)
Extensible Neovim Scrollbar. Contribute to petertriho/nvim-scrollbar development by creating an account on GitHub.
nvim-transparent(透過トグル、既定はオフ)
Remove all background colors to make nvim transparent - xiyaowong/transparent.nvim
- 透過の切替:
<leader>uT。不透明が基本、必要時だけオンにする運用。
ナビゲーション / 検索
neo-tree.nvim(エクスプローラ)
Neovim plugin to manage the file system and other tree like structures. - nvim-neo-tree/neo-tree.nvim
- 開閉
<C-b>、フォーカス<leader>e、現在ファイル<leader>er - 新規/コピー/貼付:
a/c/p(末尾/でディレクトリ作成)。
telescope.nvim(ファジー検索)
Find, Filter, Preview, Pick. All lua, all the time. - nvim-telescope/telescope.nvim
- ファイル
<C-p>/<leader>ff>、全文<leader>fg>、バッファ<leader>fb>。
ターミナル統合
toggleterm.nvim
A neovim lua plugin to help easily manage multiple terminal windows - akinsho/toggleterm.nvim
- 下/右/フロート:
<leader>tt/<leader>tv/<leader>tf>。 - Lazygit トグル:
<leader>gg>。
LSP / 補完 / 整形 / 診断
mason.nvim + mason-lspconfig + lspconfig(LSP 管理)
Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and …
Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim. - mason-org/mason-lspconfig.nvim
Quickstart configs for Nvim LSP. Contribute to neovim/nvim-lspconfig development by creating an account on GitHub.
nvim-cmp(補完本体): https://github.com/hrsh7th/nvim-cmp
ソース: cmp-nvim-lsp / cmp-buffer / cmp-path / cmp-nvim-lsp-signature-help
nvim-cmp source for neovim builtin LSP client. Contribute to hrsh7th/cmp-nvim-lsp development by creating an account on GitHub.
nvim-cmp source for buffer words. Contribute to hrsh7th/cmp-buffer development by creating an account on GitHub.
nvim-cmp source for path. Contribute to hrsh7th/cmp-path development by creating an account on GitHub.
cmp-nvim-lsp-signature-help. Contribute to hrsh7th/cmp-nvim-lsp-signature-help development by creating an account on GitHub.
–
スニペット: LuaSnip + friendly-snippets
Snippet Engine for Neovim written in Lua. Contribute to L3MON4D3/LuaSnip development by creating an account on GitHub.
Set of preconfigured snippets for different languages. - GitHub - rafamadriz/friendly-snippets: Set of preconfigured snippets for different …
補助: lspkind.nvim(アイコン), nvim-autopairs(括弧)
VS Code–style pictograms for Neovim completion items - onsails/lspkind.nvim
autopairs for neovim written in lua. Contribute to windwp/nvim-autopairs development by creating an account on GitHub.
整形: conform.nvim(保存時)
Lightweight yet powerful formatter plugin for Neovim - stevearc/conform.nvim
診断: nvim-lint(Markdown/YAML ほか)
An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support. - mfussenegger/nvim-lint
スキーマ: SchemaStore.nvim(YAML/JSON)
🛍 JSON schemas for Neovim. Contribute to b0o/SchemaStore.nvim development by creating an account on GitHub.
Lua 開発補助: neodev.nvim
💻 Neovim setup for init.lua and plugin development with full signature help, docs and completion for the nvim lua API. - folke/neodev.nvim
.luarc.jsonにLua.diagnostics.globals=["vim"]も用意して誤検知を防止。
マルチカーソル
- vim-visual-multi: https://github.com/mg979/vim-visual-multi
- 基本操作:
Ctrl-nで次の一致にカーソル追加、Escで終了。
- 基本操作:
その他(未分類・ユーティリティ)
- barbar.nvim(バッファタブ)
- 移動:
<leader>bn/<leader>bp、クローズ:<leader>bd、ダイレクト:<leader>1〜<leader>9
- 移動:
The neovim tabline plugin. Contribute to romgrk/barbar.nvim development by creating an account on GitHub.
- winresizer(分割サイズ変更)
:WinResizerStartResizeでサイズ変更モード
very simple vim plugin for easy resizing of your vim windows - GitHub - simeji/winresizer: very simple vim plugin for easy resizing of your …
- nvim-surround(囲み編集)
- 代表操作:
ys{motion}{char}追加 /ds{char}削除 /cs{from}{to}変更
- 代表操作:
Add/change/delete surrounding delimiter pairs with ease. Written with :heart: in Lua. - GitHub - kylechui/nvim-surround: Add/change/delete …
- treesj(配列/引数の split/join)
- トグル:
<leader>tj
- トグル:
Neovim plugin for splitting/joining blocks of code - Wansmer/treesj
- nvim-various-textobjs(追加テキストオブジェクト)
- デフォルトキーマップ有効。詳細は
:h various-textobjsを参照
- デフォルトキーマップ有効。詳細は
Bundle of more than 30 new text objects for Neovim. - chrisgrieser/nvim-various-textobjs
- vim-commentary(コメント)
gc/gcc
commentary.vim: comment stuff out. Contribute to tpope/vim-commentary development by creating an account on GitHub.
- vim-operator-replace(オペレータ置換)
gr{motion}
Vim plugin: Operator to replace text with register content - kana/vim-operator-replace
- vim-tmux-navigator(tmux連携移動)
Ctrl-h/j/k/lで tmux も跨いで移動
Seamless navigation between tmux panes and vim splits - christoomey/vim-tmux-navigator
- vim-translator(翻訳)
<leader>tr翻訳 /<leader>tR置換で反映
:closed_book: Translating plugin for Vim/Neovim. Contribute to voldikss/vim-translator development by creating an account on GitHub.
- auto-save.nvim(自動保存)
- 挿入終了/入力停止で自動保存(デフォルト ~1s)
🧶 Automatically save your changes in NeoVim. Contribute to okuuva/auto-save.nvim development by creating an account on GitHub.
- git-messenger.vim(行の最終コミットポップアップ)
<leader>gm
Vim and Neovim plugin to reveal the commit messages under the cursor - rhysd/git-messenger.vim
- blamer.nvim(行末 blame 表示)
<leader>gBトグル
A git blame plugin for neovim inspired by VS Code&#39;s GitLens plugin - APZelos/blamer.nvim
最後に
他にも導入したものについては、このブログに随時まとめていきます。
次回は MCP サーバー導入編(導入したサーバーの説明と手順)をまとめます。