WSL2でvimからクリップボードを利用する

忘れないようにメモ

クリップボードオプション付きvimをインストールする

vim --version | grep clipboard して+clipboard が出ない場合、
+clipboardvimをインストールする。

sudo apt purge vim
sudo apt install vim-gtk

brewでインストールする方法は こちら

VcXsrv Windows X Serverをインストールする

  • Extra settingsにて Clipboard, Disable access control にチェックをつける
  • Save configuration ボタンから、設定を適当なフォルダに保存する
  • 起動時のオプションで設定ファイルを読み込む
    • C:\ProgramData\Microsoft\Windows\Start Menu\Programs\VcXsrv\XLaunch のプロパティを開く
    • リンク先を "C:\Program Files\VcXsrv\xlaunch.exe" -ac -run C:\path\to\config.xlaunch にする

Windows DefenderのFWでVcXsrvを許可する

WSL2に環境変数を設定する

export DISPLAY=$(grep -oP "(?<=nameserver ).+" /etc/resolv.conf):0.0

追記: 上記コマンドでは動かなくなってしまった。以下で動作することを確認 参考:

Can't use X-Server in WSL 2 · Issue #4106 · microsoft/WSL · GitHub

export DISPLAY=$(route.exe print | grep 0.0.0.0 | head -1 | awk '{print $4}'):0.0

yankした時に"*レジスタに記録させる

set clipboard=unnamed

参考: