无法在 Firefox 中从终端启动 Google 来搜索屏幕的剪贴板
-
23-08-2019 - |
题
问题: 使用键盘快捷键在屏幕的复制模式下从终端到 Firefox 搜索当前选择
您可以在复制模式下按 将句子复制到屏幕的剪贴板 enter
. 。但是,我希望能够按 g
将屏幕的剪贴板作为第一个参数放入以下命令中:
#!/bin/sh
q=$1
open "http://www.google.com/search?q=$q"
我现在也这样做
- C-a Esc [选择区域] Enter
- C-z [将当前窗口移开]
- 谷歌 C-a ]
如何将屏幕的剪贴板放入命令中?
解决方案
以下描述了某人如何修改其 .screenrc 文件以将其与 X 剪贴板同步。 您可以尝试修改它以将选定的文本发送到 Firefox 而不是 xsel。
其他提示
open "http://www.google.com/search?q=`xclip -o`"
这适用于 X 的复制缓冲区,而不是屏幕的复制缓冲区,但 X 剪贴板通常是您想要的,因为它是通过简单地突出显示文本来设置的。
我仍在尝试找出确切的语法,但请看一下在 .screenrc 文件中使用“bind”和“writebuf”(可能还有“eval”)。
编辑
您可以绑定主目录中 .screenrc 文件中的密钥。例如。,
bind g eval 'writebuf' 'exec . /bin/sh/ -c "cp /tmp/screen-exchange ~/foo.txt"'
这将运行 评估 在屏幕中使用 g 键时的命令。Eval 接受任意数量的参数并将它们作为 Tcl 脚本运行。
写缓冲区 将屏幕复制/粘贴缓冲区转储到 /tmp/screen-exchange 处的文件中。
第二个字符串开头为 执行 它将运行 Tcl 解释器外部的程序。在本例中,我选择 /bin/sh (*nix shell)并传递任意系统命令。上面的示例复制了 /tmp/screen-exchange 文件,但您可以:
open < /tmp/screen-exchange
将行添加到 ~/.screenrc 后,重新启动 screen,复制一些文本并尝试
C-a g
不隶属于 StackOverflow