LoginSignup
20
15

More than 3 years have passed since last update.

WSL上のvimでクリップボードを共有する方法

Last updated at Posted at 2017-11-20

WSLでは既存の方法ではクリップボードをvimとシステムの間で共有させることができません。
どうやらWSLにはXserverが無くて、xselが使えないせいらしいです。
確かにターミナル上でもxselは使えませんでした。

解決方法

  1. ここからwin32yank.exeを落とす
  2. win32yank.exeのPATHを通す
  3. 以下をvimrcに追記
vimrc
nnoremap <silent>yy :.w !win32yank.exe -i<CR><CR>
vnoremap <silent>y :w !win32yank.exe -i<CR><CR>
nnoremap <silent>dd :.w !win32yank.exe -i<CR>dd
vnoremap <silent>d x:let pos = getpos(".")<CR>GpVG:w !win32yank.exe -i<CR>VGx:call setpos(".", pos)<CR>
nnoremap <silent>p :r !win32yank.exe -o<CR>
vnoremap <silent>p :r !win32yank.exe -o<CR>

vnoremap dの無理矢理感が凄いですけどね...(これより良い方法を知ってる方いらっしゃいましたら教えて頂けると有難いです)

追記

WindowsにXserverを導入してvimで使用する方法を教えて頂きました!(@EqualL2さんありがとうございます!)
成功したので、共有したいと思います!

  1. ここからVcXsrvをインストールする
  2. インストールが終わったらスタートメニューから「XLaunch」を実行(全てデフォルト値。クリップボードオプションにチェックが入っていることを確認してください)
  3. bashrcにexport DISPLAY=localhost:0.0を追記

追記

SSH時はここを参考にするとよさそう
https://qiita.com/miyagaw61/private/cb883d3d8bde7f104c97

20
15
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
15