2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2とneovimでクリップボードを共有する(lemonade)

Posted at

背景

もともとwindowsにてvirtualboxの仮想環境を扱っておりましたが、
諸事情によりWSL2に乗り換えることとなりました。

virtualboxではlemonade を使用し、
windows側でlemonadeサーバーを立て、仮想環境からwindows側へTCPを使いクリップボードの共有を行いに行く という形をとっていました。

が、仕事の都合上、windowsのファイヤーウォールの設定をいじることができないため、疎通ができないため諦めていてWSLでの他の共有方法を探していました

検討

WSLでのクリップボードを共有する方法を調べていると、

  • xclip/xsel
    • xサーバーをwindowsで立てる形になり、windows側へ疎通するのが同じくファイヤーウォールの都合上難しい
  • win32yank
    • たまにfreezeしたりcrash報告がいろいろあるらしい
  • clip.exeでコピーとpowershellで貼り付け
    • powershellを使ったpasteが遅いらしい

などなど、どれも微妙だな~と思っていました。

仮説

lemonadeでは

windows側でlemonadeサーバーを立て、仮想環境からwindows側へTCPを使いクリップボードの共有を行いに行く

という方法だったが、wslでは仮想環境から直接windows側のlemonade.exeを実行できるので、ホスト側のlamonadeで直接copyしてあげればクリップボードに反映されるのでは?

動作確認

wsl側で、/mnt/c/ から辿るとexeファイルをそのまま実行できるので、/mnt/c/hogehoge/lemonade.exe copy "hoge" としてみると、windows側でpasteしてみるとhogeが貼り付けられた! => 成功 :smile:

同じようにwindows側でコピーした内容も /mnt/c/hogehoge/lemonade.exe paste にてコンソールに表示されることを確認

設定

を見ると、lemonade にパスが通っているとneovim側で何も g:clipboard に設定しなくても良さそう

wsl用にわざわざ設定を分けなくて良いので、vimの設定ファイルはキレイさを保てる!
環境の問題は環境側の設定のみで解決したい。

パスを通すため、パスの通っているところにlemonadeのシンボリックリンクを貼る

ln -s /mnt/c/hogehoge/lemonade.exe ~/.local/bin/lemonade

2
0
0

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?