php网络剪贴板v2ex,再次推荐共享粘贴板 Lemonade

1. lemonade 使用场景

Windows/Linux/MacOS 桌面环境使用 SSH 远程连接服务器开发。无需鼠标 选择 /拷贝 /粘贴 文本。

比如需要在 Vim 中拷贝一段文本,然后粘贴到桌面软件(QQ?微信?)。

比如需要拷贝的文本超出了一屏幕,用鼠标就不方便了。而且还需要把 Vim 行号临时取消才能用鼠标选择拷贝。

lemonade 分为 client 和 server。 桌面环境(本地)运行 server 端,远程环境运行 client 端。

2. 使用示例

下面配置环境以 Windows 下 Putty 连接 Linux 服务器开发为例。

2.1 在 Windows 上配置 server 端

下载对应版本的 Windows 包,32 位 /64 位。解压后得到 lemonade.exe 文件

在 cmd.exe 里执行下面命令

lemonade.exe server --allow="127.0.0.1,::1" --port=2489 --line-ending="crlf"

这行命令的意思是用 server 方式启动 lemonade, 只允许本机连接,监听端口为 2489,换行符号为 '\r\n'

设置换行符可以解决 Linux 复制一段文本到 Windows 的 notepad 没有换行的问题。

只允许本地连接会比较安全,然后使用 SSH 把本地的 2489 端口映射到 Linux 的 2489 端口。

可以自己写 start.bat 文件,然后丢到系统启动项里面。后期有空会加个 system tray,对用户会比较友好。

配置 Putty 端口转发:

Connection -> SSH -> Tunnels

Add new forwarded port

Source port 2489

Destination localhost:2489

Remote

Auto

配出的结果这样显示的:R2489 localhost:2489

2.2 在 Linux 上配置 client 端

下载对应版本的 Linux 包,拷贝到 /usr/bin/ 或者其他 PATH 路径

新建配置文件 ~/.config/lemonade.toml

填入以下内容

port = 2489

host = '127.0.0.1'

line-ending = 'lf'

trans-loopback = true

trans-localfile = true

步骤 2.1 已经配置好了端口映射,所以这里填的 host 为 127.0.0.1

测试是否配置成功:

在 Linux 上输入命令

echo "test" | lemonade copy

在 Windows 上粘贴

2.3 配置 NeoVim 使用 lemonade

let g:clipboard = {

\'copy': { '+': 'lemonade copy', '*': 'lemonade copy' },

\'paste': { '+': 'lemonade paste', '*': 'lemonade paste' },

\'name': 'lemonade',

\}

这样就可以从 Vim 中用 y 拷贝文本到 Windows 了,也可以用 p 直接粘贴 Windows 上拷贝的文本了。

2.4 配置 Tmux 使用 lemonade

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 中用 y 拷贝文本到 Windows 了,也可以用 Ctrl + b + ] 直接粘贴 Windows 上拷贝的文本了。

3. 高级功能

3.1 open url

在 Linux 打开 Windows 上的浏览器,并进入到指定的网址。比如在 Linux 上输入下面命令:

lemonade open https://github.com/hanxi/lemonade

这个功能配合 Vim 插件 iamcco/markdown-preview.nvim 非常好用,编辑 Markdown 实时预览。Vim 里这样配置即可:

"{markdown-preview

let g:mkdp_open_to_the_world = 1

let g:mkdp_open_ip = '192.168.29.251'

let g:mkdp_port = 6060

function! g:Open_browser(url)

silent exe '!lemonade open 'a:url

endfunction

当然,如果 Linux 的 ip 是不固定的,也可以用 Putty 的端口映射方法。把 Windows 的 6060 映射到 Linux 的 6060.

L6060 localhost:6060

vim 则需要这样配置

"{markdown-preview

let g:mkdp_open_to_the_world = 1

let g:mkdp_open_ip = 'localhost'

let g:mkdp_port = 6060

function! g:Open_browser(url)

silent exe '!lemonade open 'a:url

endfunction

3.2 upload file and open

上传 Linux 上的文件到 Windows,并用浏览器打开。

lemonade open ./test.html

为何又一次推荐?

因为最近我重写了 RPC 协议,采用 HTTP REST API。不安装 lemonade 客户端也能用 curl 或 nc 实现,比如就这么简单的实现了 client 的 copy 和 paste 功能。

#!/bin/sh

if [ $1 == 'copy' ]; then

curl -X POST --data "$2" http://127.0.0.1:2489/copy

fi

if [ $1 == 'paste' ]; then

curl http://127.0.0.1:2489/paste

fi

主要原因还是这工具太好用了,摆脱鼠标的利器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值