Xclip 命令在 shell 中有效,但在键盘快捷键中无效

Xclip 命令在 shell 中有效,但在键盘快捷键中无效

我白天必须经常粘贴电子邮件,而且打字很耗时。这就是为什么我正在寻找一种通过按下按钮来完成此操作的方法。在 bash 中使用以下命令时,可以将我的邮件放在剪贴板上:

echo "[email protected]" | xclip -sel clip

运行它后,我可以成功转到另一个应用程序(例如 Firefox)并按 ctrl+v 粘贴它。当我通过快捷方式使用此命令时,它不起作用。 示例快捷方式

知道如何使这项工作有效吗?

PS 我还尝试了“xdotool”,将键盘快捷键设置为:

xdotool type 'l' 'o' 'r' 'e' 'm' '@' 'i' 'p' 's' 'u' 'm' '.' 'c' 'o' 'm'

还有一些变体,但它们都太滞后,并且只在字符串的一半处开始打印。

答案1

认为您可能想将两者结合起来,如下所示:

sh -c 'sleep 0.5; xdotool type "$(xclip -o -selection clipboard)"'

仅用于选择文本的键绑定。您需要确保当尝试运行命令时,绑定中的元键不会被按下(xdotool创建按键,并且不会为您释放 Ctrl 键)。

其次,默认情况下xclip选择XA_Primary缓冲区而不是XA_CLIPBOARD.因此,您应该将剪贴板作为 的选择参数传递xclip

要不就:

sh -c 'sleep 0.5; xdotool type "[email protected]"'

xclip独自的:

sh -c 'echo "[email protected]" | xclip -sel clip && xclip -out -sel clip'

但这是一个又长又夸张的命令(我个人不喜欢这样)。

相关内容