1. Lemonade 是啥?
Lemonade is a remote utility tool. (copy, paste and open browser) over TCP.
https://github.com/pocke/lemonade
就是支持远程的粘贴板
2. 有啥用?
比如在 Windows 下使用 Putty 等终端工具连接 Linux 服务的时候,从 Windows 下拷贝文字到 Linux 可以使用鼠标右键或者 Shift + Insert,但是从 Linux 拷贝文字到 Windows 怎么办?只能鼠标选中文本再复制。
在比如从 Vim 中拷贝文字到 Tmux 呢?从 Tmux 拷贝文字到 Vim 呢?怎么办?各种粘贴板不能共享,只能依赖鼠标?
为了摆脱鼠标,需要借助第三方粘贴板来做为共享的粘贴板,这里选择的就是 Lemonade。
3. 如何配置?
a. Windows 配置(作为服务器)
- 在这里下载 Windows 版本的 Lemonad
- 解压后得到可执行文件 lemonade.exe
- 在 lemonade.exe 目录下新建一个批处理文件 lamonade.bat ,内容如下:
lemonade.exe --port=2489 --line-ending="cr" --allow="192.168.0.0/24" server
- 上面一行命令的意思就是监听 2489 端口,允许局域网的机子访问你的 Windows 粘贴板
- 如果远程 Linux 在公网,而自己的 Windows 机器又没有公网 IP 的话,那就需要借助公网来反向代理端口实现内网穿透了,比如使用 frp/ngork/ssh 等
b. Linux 配置(作为客户端)
- 在这里下载 Linux 版本的 Lemonad
- 把可执行文件 lemonade 放到 PATH 路径,比如 /usr/bin
- 新建配置文件 .config/lemonade.toml ,内容如下:
port = 2489
host = '192.168.16.12'
trans-loopback = true
trans-localfile = true
line-ending = 'cr'
- 接下来就可以像下面这样使用 lemonade copy / lemonade pasete 跟 Windows 下共享粘贴了
# You want to copy a text
$ cat file.txt | lemonade copy
# You want to paste a text from the clipboard of Windows
$ lemonade paste
# You want to open an URL to a browser on Windows.
$ lemonade open 'http://google.com'
I. 配置 Vim
- 没啥好配置的,装个支持 Lemonade 的插件就行,比如: kana/vim-fakeclip
- 如果使用的是 NeoVim 就不用装插件了,本身就自动支持第三方粘贴板插件
II. 配置 Tmux
为了实现 Tmux 选择和 Vim 一致,需要修改快捷键,比如选中模式下按 v
开始选择,按 y
拷贝并结束选择。进入选中模式的快捷键为 Ctrl + [
,粘贴的快捷键为 Ctrl + ]
。如下配置 Tmux:
我的 lemonade 的路径是在 ~/local/bin/lemonade
# tmux 2.4 以上版本
setw -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "~/local/bin/lemonade copy"
bind-key ] run-shell "~/local/bin/lemonade paste | tmux load-buffer -" \; paste-buffer ;
# tmux 旧版本
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-pipe "~/local/bin/lemonade copy"
bind-key ] run-shell "~/local/bin/lemonade paste | tmux load-buffer -" \; paste-buffer ;