unix – 集成readline的kill-ring和X11剪贴板

在我的.zshrc中,我使用以下代码段来集成 shell的剪贴板和主X11剪贴板.由于这种集成,我可以剪切和粘贴emacs,firefox和终端的文本,而不必使用鼠标.
kill-line() { zle .kill-line ; echo -n $CUTBUFFER | xclip -i }
zle -N kill-line # bound on C-k

yank() { LBUFFER=$LBUFFER$(xclip -o) }
zle -N yank # bound on C-y

注意:我在Mac OS X上使用这个技巧(使用pbcopy / pbpaste而不是xclip),感谢Synergy我的两台电脑共享一个剪贴板.整齐.但它并不适用于readline.我发现自己使用readline很多,例如在(i)python,gdb,ncftp …

所以这里有我的问题:有没有办法将readline的剪贴板与剩下的剪贴板整合在一起?

当然,我在这里想到一些这个意见,但任何见解/想法都是值得欢迎的.

个人来说,我运行在 GNU screen以内的所有内容.这给了我所有基于终端的程序的功能,而不仅仅是基于readline的程序.它具有自己的粘贴缓冲区,它们在当前会话中的所有屏幕之间共享,并且可以读取/写入交换文件(可使用缓冲区文件配置).

>使用Ctrl A,[,< movement>,Space< movement&gt ;;
>使用Enter复制到粘贴缓冲区;
>粘贴Ctrl A,];
>用Ctrl A,&lt ;;的交换文件内容替换
并用Ctrl A和>写出交换文件.

那么所有你需要的是小帮手同步/ tmp /屏幕交换和X选择.像这样简单的东西可以工作.

# ~/.screenrc (or entered at C-a : command prompt)
bind '{' exec sh -c 'xclip -o>~/.screen_exchange'
bind '}' exec sh -c 'xclip -i ~/.screen_exchange'

当然,一些更好的绑定和宏会使生活变得更轻松(这就需要C-a {C-a-C-a]将X选择粘贴到终端),但这完全取决于你.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...