Skip to content

Neovim

Description:
Vimの使い心地を維持しつつ、Luaによる拡張性やLSP、モダンな機能を強化した次世代のハイパー拡張テキストエディタ
Updated:
2026/02/12
  • Luaによる高度なカスタマイズ性: 設定ファイル(init.lua)をLua言語で記述でき、Vimscriptよりも高速かつ柔軟に独自の機能やプラグインを構築可能。
  • 組み込みLSP(Language Server Protocol): 外部ツールを介さず標準でLSPに対応し、高精度な文法チェック、定義ジャンプ、自動補完を実現。
  • Treesitter 統合: コードを構文解析して色付けする Treesitter により、従来の正規表現ベースよりも正確で高速なシンタックスハイライトを提供。
  • 強力なプラグインエコシステム: 開発者コミュニティが非常に活発で、ファイル検索(Telescope)、UI改善、デバッグ機能など、無数のモダンな拡張機能が利用可能。
  • Vimとの高い互換性: 従来のVimの操作法や既存のVimプラグインをほぼそのまま利用でき、スムーズな乗り換えが可能。

インストールガイド

活用デモ・設定方法

  • フルカスタマイズIDEの構築: LSPやファイラー、Git連携プラグインを組み合わせ、自身に最適化された究極のコード開発環境を作成。
  • ターミナル内での高速な文書編集: SSH越しのサーバー作業時や設定ファイルの書き換えなど、軽量ながら強力な編集機能が必要な場面で活用。
  • プログラミング学習と生産性向上: モーダル編集(ノーマル・挿入・ビジュアルモード)を習得することで、キーボードから手を離さず爆速でコードを編集。
  • ドキュメント・メモ管理: MarkdownプラグインやWiki系プラグインを導入し、思考の整理や文書作成を効率化。

  • Windows

    scoop install neovim
  • macOS (Homebrew)

brew install neovim
  • Linux (AppImage / 各リポジトリ)
# 最新版をAppImageで入手
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
./nvim.appimage

現在の Neovim 構成は、ディレクトリを機能ごとに分ける「モジュール化」が主流です。設定は通常 ~/.config/nvim/init.lua (Mac/Linux) または %LOCALAPPDATA%\nvim\init.lua (Win) に記述します。

  • Directory~/.config/nvim/
    • init.lua # 全体のエントリーポイント
    • Directorylua/
      • Directoryconfig/
        • options.lua # 基本設定 (タブ幅など)
        • keymaps.lua # キーバインド設定
        • autocmds.lua # 自動コマンド
      • Directoryplugins/ # 各種プラグインの設定
        • lsp.lua # 言語サーバー設定
        • ui.lua # 見た目関連


モダンな Neovim 環境に欠かせない 3 つの基本要素です。

1. プラグインマネージャー: lazy.nvim

Section titled “1. プラグインマネージャー: lazy.nvim”

高速で使いやすいプラグインマネージャーです。設定ファイルを保存するだけで自動インストールが行われ、遅延読み込み(Lazy Loading)によって起動時間を劇的に短縮します。

コードの構文情報を解析し、正確なシンタックスハイライトや、高度なコード選択を実現します。

3. 言語サーバー統合: LSP (Native LSP)

Section titled “3. 言語サーバー統合: LSP (Native LSP)”

Neovim 標準搭載の LSP クライアントを使用します。mason.nvim と組み合わせることで、OS に依存せずエディタ内から LSP サーバーを一括管理できます。


  1. 本体のインストール: 最新の安定版(v0.10.x 以上を推奨)を導入します。
  2. init.lua の作成: まずは設定の土台を作ります。
    -- init.lua
    require("config.options")
    require("config.keymaps")
    
    -- プラグインマネージャーの初期化
    local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
    if not vim.loop.fs_stat(lazypath) then
      vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
    end
    vim.opt.rtp:prepend(lazypath)
    
    require("lazy").setup("plugins")
  3. LSP と補全の設定: nvim-lspconfig, mason.nvim, nvim-cmp を導入し、補全環境を整えます。
  4. UI の磨き上げ: Catppuccin などの美しいカラースキームや、ファジーファインダーとして定番の Telescope を導入します。

  • Telescope.nvim: ファイル検索、文字列検索、LSP 定義ジャンプなど何でもできる強力な UI.
  • Neo-tree.nvim: 視認性の高いファイルエクスプローラー。
  • Lualine.nvim: 美しくカスタマイズ可能なステータスライン。

[!IMPORTANT] Neovim の設定は「終わりなき旅」です。一度にすべてを完璧にしようとせず、日々の開発の中で少しずつ最適化していくことが、長続きする秘訣です。