2009-05-20 13 views
1

Problem suchen: eine Tastenkombination haben, eine aktuelle Auswahl im Bildschirm des Kopiermodus von Terminal zu Firefoxkann nicht Google in Firefox vom Terminal zum Startbildschirm der Zwischenablage

Sie den Satz von Screen Zwischenablage kopieren Google in Kopiermodus durch Drücken von enter. Allerdings möchte ich g zu drücken, um der Lage sein, den Bildschirm des Zwischenablage in den folgenden Befehl als ersten Parameter zu setzen:

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

ich das gleiche tun im Moment durch

  1. Ca Esc [wählen die Gebiet] eingeben
  2. Cz [das aktuelle Fenster aus dem Weg bringen]
  3. Google Ca]

Wie können Sie die Zwischenablage von Screen auf den Befehl setzen?

+0

Ich würde dies entweder zu Serverfault.com oder dem bevorstehenden Superuser.com – BIBD

Antwort

1

Here's a description of how someone modified their .screenrc file to sync it with the X clipboard. Sie könnten versuchen, den ausgewählten Text an Firefox anstelle von xsel zu senden.

+0

Ich habe XSel installiert. Ich erhalte den folgenden Fehler: xsel: Befehl wurde nicht gefunden, nachdem> im Kopiermodus gedrückt wurde. Ich habe XSel installiert, da ich es in der Shell von% echo Masi | verwenden kann xsel% und fügen Sie dann xsel ein. –

+0

Funktioniert es, wenn Sie den vollständigen Pfad anstelle von nur xsel verwenden? – dkaylor

1

Ich versuche immer noch, die genaue Syntax zu erarbeiten, aber betrachten Sie 'bind' mit 'writebuf' (und möglicherweise 'eval') innerhalb Ihrer .screenrc-Datei.

EDIT

Sie Schlüssel in der .screenrc Datei in Ihrem Home-Verzeichnis binden können. Z. B.

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

Dadurch wird der eval Befehl, wenn Sie die Taste g in Bildschirm verwenden. Eval nimmt eine beliebige Anzahl von Argumenten und führt sie als Tcl-Skript aus.

Writebuf Dumps Bildschirm kopieren/Einfügen-Puffer in eine Datei unter/tmp/screen-Exchange. Die zweite Zeichenfolge beginnt mit exec, die ein Programm außerhalb des Tcl-Interpreter ausführen wird. In diesem Fall wähle ich/bin/sh (a * nix shell) und übergebe einen beliebigen Systembefehl. Das obige Beispiel kopiert das Verzeichnis/tmp/Bildschirm-Austauschdatei aber Sie könnten:

open < /tmp/screen-exchange 

Sobald die Linie zu ~/.screenrc hinzugefügt wurde, Neustart-Bildschirm, einen Text kopieren und versuchen

C-a g 
+0

nehmen Könnten Sie ein Beispiel geben, wie Sie diese Befehle bitte verwenden würden. –

1
open "http://www.google.com/search?q=`xclip -o`" 

Dies funktioniert auf X-Kopierpuffer statt Bildschirm, aber die X-Zwischenablage ist in der Regel, was Sie wollen, da es durch einfaches Markieren von Text festgelegt ist.

+0

Ich benutze derzeit OS/X Leopard und X11. Also benutze ich MacPorts 'xclipboard. Ich bekomme die Warnung "Fehler: eine andere Zwischenablage läuft bereits", während in X11 mit einem markierten Text. –

+0

@ Mein xclipboard hat nicht die Option -o. Es scheint, dass ich von Quelle xclip kompilieren muss. –

+1

xclipboard und xclip sind ziemlich unterschiedlich.xclipboard ist ein Hintergrund-Daemon zur Verwaltung der Zwischenablage, xclip ist ein CLI-Tool zum programmatischen Kopieren/Einfügen von Text. – SpliFF