.vimrc
has({feature})
の feature-list には、 WSL は含まれていない。そこで、uname -a
に含まれる情報を利用して、 WSL の判定をおこなった。- TextYankPost: ヤンクコマンドなどでレジスタが更新された際に処理をフックし、 WSL でも使える clip.exe を実行しクリップボードにコピーする。
" Windows Subsystem for Linux で、ヤンクでクリップボードにコピー
if system('uname -a | grep Microsoft') != ''
augroup myYank
autocmd!
autocmd TextYankPost * :call system('clip.exe', @")
augroup END
endif
補足。環境
- Windows 10 Pro バージョン 1809
- WSL
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic
おわりに
Windows Subsystem for Linux は、ただ単に Linux 環境なのだから今までの .vimrc が使えるだろうと高をくくっていました。
ところが、コピペができません><。
Vim で書いた文章を、コピーできませんし、別のテキストを Vim へペーストもできません><。
コピーは今回の投稿で、実現できました。
ペーストは、使用しているターミナルにもよるようで、これ!という設定が見つけられていません。
WSL では Ubuntu を使用していますが、デフォルトのターミナルで、 Shift + 右クリック
が今のところの解決方法です。
また、本投稿の大部分は、次のページが参考になりました。ありがとうございます!
以上です。
「WSL の Vim でヤンクしたテキストをクリップボードに共有する .vimrc」への1件の返信
[…] WSL の Vim でヤンクしたテキストをクリップボードに共有する .vimrc – oki2a24 でも行いましたのと同じ理由です。 WSL は Linux だけれども、クリップボードにコピーするには、 clip.exe を使い […]