ツールと実践

Neovim

エディタの設定、プラグイン、キーバインド。

読み始める
0 / 6 既読

トピックと記事目次

1 トピック

Neovim は編集、ウィンドウ、端末、言語クライアントなどを提供する。LazyVim はプラグイン、キー、設定規約をまとめたディストリビューションである。初期構築は軽くなるが、ファイルタイプ、プロジェクトルート、外部ツール、バージョンの理解は必要となる。

端末操作ができる読者向けのシリーズである。Vim が初めてなら :Tutor で入力、普通モードへの復帰、保存、終了を練習してから進む。

学習順序

段階記事到達点
1本篇設定場所と health check を確認する
2編集と探索テキストオブジェクト、レジスタ、quickfix
3言語ツールLSP、補完、解析、整形を区別する
4Rust 修正課題失敗テストから修正と差分確認へ進む
5プラグインとキー小さな上書きとキーの出所を理解する
6遠隔作業と入力入力法、OSC52、Zellij と連携する
7保守バージョン固定、切り分け、復旧

既存環境では必要な記事から読める。初学者は課題を完了してから任意プラグインを追加する。

必要条件を確認する

nvim --version
git --version
rg --version

LazyVim の現行要件と照合する。フォントは記号表示、コンパイラは parser やネイティブプラグイン、SDK は対象言語に関係する。

設定規約は LazyVim 16 を参考にする。保守環境の Neovim 0.13 開発版を読者へ要求するものではない。API 差異を調べるときは正確なバージョンを記録する。

日常設定と分離して試す

Linux/macOS では NVIM_APPNAME で練習用の名前を使える。保存先が存在しないことを確認して実行する。

git clone https://github.com/LazyVim/starter ~/.config/nvim-lab

起動する。

NVIM_APPNAME=nvim-lab nvim

初回はプラグイン取得の通信や構築ツールが必要になる。以後も同じ名前で起動する。通常の nvim は従来の設定を使うため、試すために日常設定を削除しない。導入手順

Windows は既定パスが異なる。実際の場所はエディタ内で確認できる。

:lua print(vim.fn.stdpath("config"))
:lua print(vim.fn.stdpath("data"))

最初が設定、次がプラグインなどのデータ領域である。

ファイルの役割

nvim-lab/
├── init.lua
├── lazyvim.json
├── lazy-lock.json
└── lua/
    ├── config/
    │   ├── lazy.lua
    │   ├── options.lua
    │   ├── keymaps.lua
    │   └── autocmds.lua
    └── plugins/
        └── editing.lua

init.lua が入口、lazy.lua がプラグイン初期化、options/keymaps/autocmds が設定、キー、イベントを担当する。lua/plugins/ はプラグイン仕様を返し、lazyvim.json は extras、lazy-lock.json はプラグインのコミットを記録する。

言語対応は :LazyExtras で確認・有効化し、指示に従って導入と再起動を行う。optional の機能や外部 SDK がすべて入るとは限らない。

初回起動の確認

:LazyHealth と作業に関係する :checkhealth を確認する。無関係な任意 provider の不足と、使用言語の必須ツール不足は分ける。

lua/config/options.lua に設定する例:

vim.opt.number = true
vim.opt.relativenumber = true
vim.g.autoformat = false

自動整形を止めると、学習中の編集範囲を観察しやすい。後でプロジェクト方針に合わせる。言語ツール

ファイルを開いて保存でき、設定場所と実際の不足項目を説明できたら、編集と探索へ進み、小さなプロジェクトで連携を確認する。