一、剪贴板的本质
剪贴板的本质是“一块存储区域”,由具体应用程序具体实现。剪贴板的底层存储“可以是硬盘、可以是内存或者也可以是硬盘内存混合体”,剪贴板存放内容“可以是内容本身或者也可以是内容的引用地址(比如复制文件中文件的地址)”等等细节都由具体应用程序具体实现时具体设计决定。
二、具体案例
具体案例如下:
- Windows系统有自己的剪贴板体系
- Linux的X Window System系统有自己的剪贴板体系
- Tmux有自己的剪贴板体系
- Vim有自己的剪贴板体系
- Emacs有自己的剪贴板体系
- VMware虚拟机用于主机和客户机通讯的程序有自己的剪贴板体系
Ctrl+c
和Ctrl+v
组合对应一个剪贴板体系Ctrl+Insert
和Shift+Insert
组合对应一个剪贴板体系Shift+Ctrl+c
和Shift+Ctrl+v
组合对应一个剪贴板体系- …
图1[1]是Ubuntu系统下不同剪贴板体系存在和交互的猜想示意图,这里引用该图不关注该猜想是否正确,而只是为了说明剪贴板体系的多样性。
图1
三、总结
由于剪贴板体系的实现多样性,虽然可通过“配置有些应用程序对剪贴板体系的选择或者借助于xclip
,xsel
等第三方工具”而对剪贴板体系作一定整合,但是要想完全统一剪贴板体系还是不太现实,因此不要花费过多精力在这上面。
参考文献: [1]https://blog.csdn.net/nicekwell/article/details/40063817 [2]https://blog.csdn.net/fnzsjt/article/details/46368733 [3]https://stackoverflow.com/questions/31905680/vim-yanking-with-xclip-getting-rid-of-escape-characters