カテゴリー
Microsoft

WSL の Vim でヤンクしたテキストをクリップボードに共有する .vimrc

.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件の返信