1

问题:在屏幕的复制模式下从终端到 Firefox 有一个键盘快捷键来搜索当前选择

您可以在复制模式下按 将句子复制到屏幕的剪贴板enter。但是,我希望能够按下g将屏幕的剪贴板作为第一个参数放在下面的命令中:

#!/bin/sh
q=$1
open "http://www.google.com/search?q=$q"

我现在也这样做

  1. Ca Esc [选择区域] 回车
  2. Cz [将当前窗口移开]
  3. 谷歌钙]

如何将 Screen 的剪贴板放入命令中

4

3 回答 3

1

我仍在尝试找出确切的语法,但看看在你的 .screenrc 文件中使用 'bind' 和 'writebuf'(可能还有 'eval')。

编辑

您可以在主目录的 .screenrc 文件中绑定键。例如,

bind g eval 'writebuf' 'exec . /bin/sh/ -c "cp /tmp/screen-exchange ~/foo.txt"'

当您在屏幕中使用 g 键时,这将运行eval命令。Eval 接受任意数量的参数并将它们作为 Tcl 脚本运行。

writebuf将屏幕复制/粘贴缓冲区转储到 /tmp/screen-exchange 的文件中。

第二个字符串以exec开头,它将运行 Tcl 解释器外部的程序。在这种情况下,我选择 /bin/sh(*nix shell)并传递任意系统命令。上面的示例复制了 /tmp/screen-exchange 文件,但您可以:

open < /tmp/screen-exchange

将该行添加到 ~/.screenrc 后,重新启动屏幕,复制一些文本并尝试

C-a g
于 2009-06-04T23:32:43.160 回答
1
open "http://www.google.com/search?q=`xclip -o`"

这适用于 X 的复制缓冲区而不是 Screen 的,但 X 剪贴板通常是您想要的,因为它是通过简单地突出显示文本来设置的。

于 2009-06-07T18:57:13.473 回答
1

下面描述了有人如何修改他们的 .screenrc 文件以将其与 X 剪贴板同步。您可以尝试修改它以将所选文本发送到 Firefox 而不是 xsel。

于 2009-06-07T20:43:42.447 回答