nazo6 noteblog

lemonadeでssh先のneovimとクリップボードを共有

作成:2023/10/31

更新:2023/10/31

この記事は、Zennにも投稿しています。
lemonadeを使えばTCP通信を用いてクリップボードを共有できます。
デフォルトでlemonadeは通信を暗号化しないので注意。
セキュアな通信がしたい場合SSHポートフォワーディングを使うように案内されています

手順

  1. SSH元とSSH先にlemonadeをここからダウンロードしてパスを通しておく。
  2. SSH先のneovimにclipboard providerを設定する
local ssh_connection
for w in vim.env.SSH_CONNECTION:gmatch "[^%s]+" do
ssh_connection = w
break
end

vim.g.clipboard = {
name = "lemonade2",
copy = {
["+"] = { "lemonade", "copy", "--host=" .. ssh_connection },
["*"] = { "lemonade", "copy", "--host=" .. ssh_connection },
},
paste = {
["+"] = { "lemonade", "paste", "--host=" .. ssh_connection },
["*"] = { "lemonade", "paste", "--host=" .. ssh_connection },
},
cache_enabled = 0,
}
hostは~/.config/lemonade.tomlでも設定できますが、色々なipから繋げられるように動的に設定しています。
3. SSH元のlemonade.tomlを設定する。
lemonade.tomlallowを指定して接続できるクライアントを指定します。
lemonade.toml
allow = 'ここにipをいれる'
  1. SSH元でlemonade serverを実行する
  2. これでssh先のneovimとクリップボードが共有されてるはずです。