当我们需要将剪贴板中的内容粘贴到 Google 搜索时,我们需要至少单击两次或两次以上才能到达网址并点击CTRL+V
,然后Enter
开始搜索。
我想一键完成?
答案1
解决方案非常简单且直接。它将帮助您打开浏览器,将剪贴板中的文本粘贴到 Google 搜索 - 所有这些都只需一个小脚本,可以而且必须附加到键盘快捷键。
我们需要的是一个名为的小实用程序xsel
,其中只有几行代码重击脚本。
例子:
#!/bin/bash
CLIPBOARD=$(/usr/bin/xsel --clipboard)
/usr/bin/xdotool search --name "Google Chrome" windowactivate
/usr/bin/google-chrome https://www.google.com/search?q="${CLIPBOARD/\&/%26}" --window --maximize
说明:
- 通过运行将当前剪贴板数据保存到
CLIPBOARD
变量中xsel --clipboard
- 确保真正显示浏览器窗口(在我的例子中是 Google Chrome),并且不要在后台运行,方法是使用
xdotool
--window --maximize
将保存和转义的变量作为参数传递给浏览器,并通过传递到命令行确保它在其他打开的程序前面弹出最大化。- 接下来,您需要将示例脚本的内容保存到文件并做到可执行文件。最后,为新创建的脚本设置快捷方式。我使用 Gnome 并尽可能简单地添加脚本的快捷方式。
现在,当我单击以前非常无用的Eject
键时,我会从剪贴板中获取数据,并直接发送到谷歌搜索只有一个单击。
编辑1:
如果您希望避免将文本复制到剪贴板并使其成为事件更短和快点,你可以工作关于选择(在选定的文本上)。您所需要的只是替换/usr/bin/xsel --clipboard
为/usr/bin/xsel --primary
.现在选定的文本即使没有将其复制到剪贴板,也会在调用脚本时传递到 Google 搜索,这使得整个过程更加高效。
编辑2:
此外,正如正确提到的吉尔斯,有必要转义&
并将其替换为%26
,否则 Google 会按字面解释它,并且搜索查询会中断。
更新:用查找和更改替换
&
以前%26
的代码:
"${CLIPBOARD}"
->"${CLIPBOARD/\&/%26}"
答案2
我可以建议以下脚本。
#!/bin/sh mk_google_query() { url_encode() { # http://stackoverflow.com/a/298258/3541063 perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' “1美元” } 回声“http://google.com/search?q=`url_encode“$1”`” } SEARCH_TEXT=`xsel` xdg-open `mk_google_query "$SEARCH_TEXT"`
该脚本用于xsel
读取剪贴板、xdg-open
打开默认浏览器并perl
使用URI::Escape
模块对搜索查询进行 url 编码。