微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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选择粘贴到终端),但这完全取决于你.

原文地址:https://www.jb51.cc/bash/383893.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐