症状

Neovimで "+y"*p を使ってもシステムクリップボードにコピー・貼り付けができない。


結論:まずこれを確認

  1. :checkhealth を実行し、clipboard の項目を確認する
  2. xclip または xsel(X11環境)、wl-copy(Wayland環境)がインストールされているか確認する
  3. init.luavim.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 xclipwhich wl-copy を実行してパスが表示されれば成功

ステップ3: Neovim の設定ファイルを確認・編集する

設定ファイルのパス:~/.config/nvim/init.lua

以下の設定を追加または確認する:

    -- システムクリップボードと連携
vim.opt.clipboard = "unnamedplus"
  

この設定により、yp が自動的にシステムクリップボードを使用する。

init.vim(Vimscript)を使用している場合:

    set clipboard=unnamedplus
  

🔍 チェックポイント: 設定後、:set clipboard? を実行して clipboard=unnamedplus と表示されれば設定は有効

ステップ4: Neovim を再起動して確認する

    nvim
  

再度 :checkhealth を実行し、clipboard の項目が OK になっているか確認する。

ステップ5: 動作確認する

  1. Neovim で適当なテキストを選択し "+y でコピーする
  2. 別のアプリケーション(ブラウザなど)で Ctrl+V で貼り付けられるか確認する
  3. 逆に、別のアプリでコピーした内容を 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」