问题描述
是否有用于粘贴主要选择的标准或常规键盘快捷键?
我想选择一些文字并转到另一个应用程序进行粘贴,而不会丢弃我的剪贴板内容。我宁愿把手指放在键盘上而不是移动到鼠标,找到指针,将它放在我想要的位置,以及middle-click。
如果没有什么常规,或者它是application-specific并且不受许多人的支持,是否有解决方法让全球工作? (或至少在更多应用程序中。)
最佳解决思路
发送虚拟按键对我来说不起作用(参见comments),但这个答案激发了我寻找类似的解决方案。使用xvkbd
发送”text”事件会忽略物理键盘的当前状态:
sh -c 'xsel | xvkbd -xsendevent -file - 2>/dev/null'
xvkbd -text
使用一些反斜杠序列,因此-file
可以工作,而不是逃避跳舞。 xvkbd
还会输出一些关于修饰符的警告文本,但它似乎与此用法无关(但我不想在~/.xsession-errors
中看到它)。
我使用System>将其绑定到快捷方式偏好>键盘快捷键。
请注意,您需要安装xsel和xvkbd软件包:
sudo apt-get install xsel xvkbd
次佳解决思路
您可以通过程序xdotool(click to install)和xsel(click to install)的组合使用来实现这一目的。
xdotool
可以模拟窗口的输入; xsel
输出PRIMARY选择的内容(默认情况下);以下shell一个内衬将起到作用:
xdotool type `xsel`
要使用System-> Preferences->键盘快捷键菜单项将其绑定到任何键,必须将其包装在shell调用中:
sh -c 'xdotool type --clearmodifiers -- "`xsel`"'
输入xdotool
不适用于某些程序;请参阅xdotool documentation中的注释。
第三种解决思路
我正在寻找这个问题的答案,我发现this answer说Shift
+ Insert
正在努力粘贴主要选择。我为我工作。简单。
第四种思路
调用xdotool click --clearmodifiers 2
模拟单击鼠标中键。这比使用xsel(至少对我而言)好得多。在打字之前你必须先放置鼠标……