Невозможно запустить Google в Firefox из терминала для поиска в буфере обмена экрана - PullRequest
1 голос
/ 21 мая 2009

Проблема: из-за сочетания клавиш для поиска текущего выбора в режиме копирования экрана с терминала на Firefox

Вы можете скопировать предложение в буфер обмена экрана в режиме копирования, нажав enter. Тем не менее, я хочу иметь возможность нажать g, чтобы поместить в буфер обмена экрана следующую команду в качестве первого параметра:

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

Я делаю то же самое на данный момент

  1. C-a Esc [выбрать область] введите
  2. C-z [убрать текущее окно с пути]
  3. Google C-a]

Как поставить буфер обмена экрана в команду ?

Ответы [ 3 ]

1 голос
/ 07 июня 2009
open "http://www.google.com/search?q=`xclip -o`"

Это работает с буфером копирования X, а не с экраном, но буфер обмена X обычно тот, который вам нужен, поскольку он устанавливается простым выделением текста.

1 голос
/ 08 июня 2009

Вот описание того, как кто-то изменил свой файл .screenrc, чтобы синхронизировать его с буфером обмена X. Вы можете попробовать изменить его, чтобы отправить выбранный текст в Firefox вместо xsel.

1 голос
/ 05 июня 2009

Я все еще пытаюсь определить точный синтаксис, но взгляните на использование 'bind' с 'writebuf' (и, возможно, 'eval') в вашем файле .screenrc.

EDIT

Вы можете связать ключи в файле .screenrc в вашем домашнем каталоге. Например.,

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

Эта команда запускает команду eval при использовании клавиши g на экране. Eval принимает любое количество аргументов и запускает их как скрипт Tcl.

writebuf выводит ваш экранный буфер копирования / вставки в файл по адресу /tmp/screen-exchange.

Вторая строка начинается с exec , которая запускает программу, внешнюю по отношению к интерпретатору Tcl. В этом случае я выбираю / bin / sh (оболочка * nix) и передаю произвольную системную команду. В приведенном выше примере копируется файл / tmp / screen-exchange, но вы можете:

open < /tmp/screen-exchange

После добавления строки в ~ / .screenrc перезапустите экран, скопируйте текст и попробуйте

C-a g
...