远程终端vim里使用系统剪切板

1、本地通过终端远程linux server,由于不是桌面环境/GUI,终端vim里似乎没办法直接使用系统剪切板,即便已经是+clipboard。

复制代码
$ vim --version | grep clipboard
+clipboard         +keymap            +printer           +vertsplit
+eval              -mouse_jsbterm     -sun_workshop      +xterm_clipboard

2、通过X server/X client这个组合勉强可以实现,windows端2种方式开启X server:

  • MobaXterm/WindTerm自带X server,但是WindTerm Xserver开了之后,还是会遇到Can't open display的问题,没MobaXterm的X server智能
  • 安装Xming或其他X server软件

3、比较便捷的方式,vim里直接安装remote-copy.vim插件

复制代码
.vimrc:

Plug 'Hanaasagi/remote-copy.vim'

vmap <C-c> y:call remote_copy#copy2clipboard(getreg('"'))<cr>

Visual模式下选中要复制的内容,ctrl-c实现复制copy。

copy2clipboard实做细节:会把当前终端vim reg " 里的内容通过OSC52 encode,写到stdout fd里,这样再用鼠标或shift + insert就可以把标准输出的内容复制出来,以实现跨终端复制,或终端到文件的复制。

参考:

https://github.com/Hanaasagi/remote-copy.vim

https://blog.csdn.net/m0_62396418/article/details/132195530

VIM与系统共用剪贴板_vim共享剪切板-CSDN博客

相关推荐
女神下凡1 分钟前
芯参谋(84):Linux eMMC 驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件
无足鸟ICT9 小时前
【RHCA+】vmstat命令(监控系统资源)
linux·服务器
闪亮的路灯9 小时前
Linux 安装mqtt服务mosquitto
linux·运维·服务器
HideF9 小时前
nmcli
linux·服务器·网络
qetfw10 小时前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
叼烟扛炮12 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
ynchyong12 小时前
Linux 有两个 “版本“
linux·发行版·内核版本
叼烟扛炮12 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战
linux·服务器·学习
叼烟扛炮13 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Escalating_xu13 小时前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php