将剪贴板中的文本直接粘贴到浏览器并让 Google 搜索它

将剪贴板中的文本直接粘贴到浏览器并让 Google 搜索它

当我们需要将剪贴板中的内容粘贴到 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

说明:

  1. 通过运行将当前剪贴板数据保存到CLIPBOARD变量中xsel --clipboard
  2. 确保真正显示浏览器窗口(在我的例子中是 Google Chrome),并且不要在后台运行,方法是使用xdotool
  3. --window --maximize将保存和转义的变量作为参数传递给浏览器,并通过传递到命令行确保它在其他打开的程序前面弹出最大化。
  4. 接下来,您需要将示例脚本的内容保存到文件并做到可执行文件。最后,为新创建的脚本设置快捷方式。我使用 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 编码。

相关内容