症状
Neovimで "+y や "*p を使ってもシステムクリップボードにコピー・貼り付けができない。
結論:まずこれを確認
:checkhealthを実行し、clipboard の項目を確認するxclipまたはxsel(X11環境)、wl-copy(Wayland環境)がインストールされているか確認するinit.luaにvim.opt.clipboard = "unnamedplus"が設定されているか確認する
操作フロー
flowchart TD
A[クリップボードが使えない] --> B{:checkhealth を実行}
B -->|clipboard: ERROR| C[provider が見つからない]
B -->|clipboard: OK| D[設定ファイルを確認]
C --> E[xclip/xsel/wl-copy をインストール]
E --> F[Neovim を再起動]
D --> G{clipboard オプション設定あり?}
G -->|なし| H[init.lua に設定を追加]
G -->|あり| I[SSH/tmux 環境を確認]
F --> J[再度 :checkhealth で確認]
H --> J
I --> K[環境変数 DISPLAY を確認]
よくある原因
- clipboard provider がインストールされていない - xclip/xsel/wl-copy などが必要
- clipboard オプションが設定されていない -
vim.opt.clipboardの設定漏れ - SSH 接続で X11 forwarding が無効 -
-Xオプションなしで接続している - Wayland 環境で X11 用ツールを使っている - wl-clipboard が必要
- tmux 内で clipboard 共有が無効 - tmux.conf の設定が必要
- Neovim のバージョンが古い - clipboard 機能に問題がある可能性
- WSL2 で Windows 側との連携が未設定 - win32yank などが必要
操作手順
ステップ1: checkhealth でクリップボード状態を確認する
Neovim を起動し、以下を実行する:
:checkhealth
Clipboard セクションを探す。
🔍 チェックポイント: Clipboard (optional) の項目に OK と表示されれば provider は認識されている
エラー例:
- ERROR: No clipboard tool found. Clipboard registers ("+ and "*) will not work.
ステップ2: clipboard provider をインストールする
環境に応じて以下をインストールする。
X11 環境(Ubuntu/Debian):
sudo apt install xclip
または:
sudo apt install xsel
Wayland 環境:
sudo apt install wl-clipboard
Fedora/RHEL:
sudo dnf install xclip
Arch Linux:
sudo pacman -S xclip
macOS:
# pbcopy/pbpaste が標準で利用可能(追加インストール不要)
🔍 チェックポイント: インストール後、ターミナルで which xclip や which wl-copy を実行してパスが表示されれば成功
ステップ3: Neovim の設定ファイルを確認・編集する
設定ファイルのパス:~/.config/nvim/init.lua
以下の設定を追加または確認する:
-- システムクリップボードと連携
vim.opt.clipboard = "unnamedplus"
この設定により、y や p が自動的にシステムクリップボードを使用する。
init.vim(Vimscript)を使用している場合:
set clipboard=unnamedplus
🔍 チェックポイント: 設定後、:set clipboard? を実行して clipboard=unnamedplus と表示されれば設定は有効
ステップ4: Neovim を再起動して確認する
nvim
再度 :checkhealth を実行し、clipboard の項目が OK になっているか確認する。
ステップ5: 動作確認する
- Neovim で適当なテキストを選択し
"+yでコピーする - 別のアプリケーション(ブラウザなど)で
Ctrl+Vで貼り付けられるか確認する - 逆に、別のアプリでコピーした内容を Neovim で
"+pで貼り付けられるか確認する
🔍 チェックポイント: 双方向でコピー・貼り付けできれば成功
NG行動(やってはいけないこと)
- provider 未インストールのまま設定だけ追加する - 設定があっても動作しない
- SSH で X11 forwarding せずにクリップボード連携を期待する - ローカル環境とは異なる
- xclip と xsel を両方インストールして競合させる - 片方だけで十分
- checkhealth を確認せずに設定を変更し続ける - 根本原因を見逃す
よくある質問(FAQ)
Q1: "+y と "*y の違いは?
A: "+ は clipboard レジスタ(Ctrl+C 相当)、"* は primary selection レジスタ(マウス中クリック相当)。Linux では両方存在するが、macOS/Windows では同じ。unnamedplus 設定で "+ が標準になる。
Q2: WSL2 でクリップボード連携するには?
A: win32yank.exe をインストールし、Neovim の provider として設定する。または、Neovim 0.10 以降では自動検出される場合がある。:checkhealth で確認する。
Q3: tmux 内でクリップボードが使えない場合は?
A: ~/.tmux.conf に以下を追加する:
set -g set-clipboard on
tmux を再起動するか tmux source ~/.tmux.conf で反映する。
関連するトラブル
準備中
解決しない場合
- Neovim 公式ドキュメント:
:help clipboard - checkhealth の詳細:
:help health - 確認すべきログ:
:messagesでエラーを確認 - 次に調べるキーワード:「Neovim clipboard provider」「xclip not working」「Wayland clipboard」