hi,all
这几天在研究如何在终端下,实现当前的command line和X Window的粘贴板共享问题。也就是要达到在终端下按^L能够把当前的命令行复制到x window的粘贴板上,按^V能够把x window的粘贴板内容append到当前command line的效果。
之前想到的解决办法是通过在bash里bind一个快捷键来实现(比如:bind -x '“\C-V”:xclip -o‘)。但是这样不能把内容复制到当前命令上,而只是在终端上打印出来而已。
尝试过通过编写bash complete函数来解决复制问题,但是必须在要复制的字符串前加特点的命令,然后按tab键来触发自动补全,把当前命令行复制到xclip里,脚本如下:
_clipcopy()
{
echo $COMP_LINE | xclip -i
COMPREPLY=“”
return 0
}
complete -F _clipcopy sxc
但这并没有达到之前想要的效果
readline的配置,好像并不支持执行shell命令,只支持内置的一些函数
虽然可以在inputrc文件里把key map换成vi模式,通过vi里的快捷键yy和\C-y来实现复制粘贴,但这并不能和x window的粘贴板结合在一起
不不知道之前是否有人研究过这一方面?或者现在已经有成功的解决方案?难道只能hack readline,监视缓存么?
//////////////////////////////////////////////////////////////
另外关于系统网络粘贴板,网上有很多实现,其中有一个synergy开源项目,能够支持linux/windows/mac,但只能共享纯文本的东西,如果复制图片,或者其他的富文本,效果就不是很好了。还有一个商业软件CrossClip,网站上宣传支持图片复制粘贴,但实际效果未知。
现在有没有在这一方面做的比较好的,支持富文本和图片复制粘贴的开源项目?