Freigeben der Mac OS X-Zwischenablage mit dem internen X-Server

6086
kwutchak

Ich möchte zwischen nativen (Cocoa?) MacOS X-Apps und solchen, die unter Macs internem X-Server laufen, kopieren und einfügen können.

Derzeit kann ich unabhängig kopieren und einfügen. Wenn ich Text in einem Xterm-Fenster auswähle, kann ich ihn in ein anderes X-basiertes Fenster einfügen. Ebenso kann das Kopieren von Informationen außerhalb von X in Anwendungen eingefügt werden, die sich auch außerhalb von X befinden.

Als Beispiel, wenn ich (in genau dieser Reihenfolge):

  • Kopieren (Auswahl mit der Maus) "Kopieren mit X-Auswahl" in ein Xterm-Fenster
  • Kopieren (Bearbeiten | Kopieren) "Text in Firefox" in Firefox
  • Einfügen (Umschalttaste xmodmap einfügen) in Nano Ich erhalte "Kopieren mit X-Auswahl"
  • Einfügen (Bearbeiten | Einfügen) hier bekomme ich -> Text in Firefox
  • Einfügen in MacVIM (Bearbeiten | Einfügen) Ich bekomme "Text in Firefox"
  • Einfügen in / usr / bin / vim (nicht grafisch) Ich erhalte "Kopieren mit X-Auswahl"

Wie kann ich die gemeinsame Nutzung der Zwischenablage zwischen X und Cocoa aktivieren?

Die xmodmap, die ich zum Einfügen in X verwende, lautet:

xmodmap -e "keycode 84 = Insert" 

Dabei ist 84 die Eingabetaste der Zehnertastatur. Shift Enter gibt mir eine Paste.

21
Ist das in allen X-Anwendungen konsistent? Versuchen Sie es mit "xterm" oder ähnlichem, nicht mit "vim" oder etwas mit eigenen Puffern? Welche Version von OS X verwenden Sie? Meine Zwischenablage wird wie erwartet in 10.5.7 für Cocoa und X11 freigegeben. jtb vor 14 Jahren 0
Hey jtb, danke für deine Hilfe. Ich verwende vim und bin mit den Problemen im Zusammenhang mit den internen Puffern vertraut. Normalerweise betrüge und wechsle ich in den Bearbeitungsmodus und füge dann aus dem Bearbeitungsmenü von gvim (oder MacVim) ein. Ich habe meinem Beitrag einige zusätzliche Informationen hinzugefügt, um die anderen Teile Ihrer Frage zu klären. kwutchak vor 14 Jahren 0
Ah, danke für die zusätzlichen Infos. Ich sehe meistens, was Sie beschreiben, obwohl das Einfügen in Schritt 3 funktioniert (mit mittlerem Klick habe ich keine Einfügung zugeordnet). Kommando-C scheint in die native Zwischenablage zu kopieren, wenn ich Text in X11 ausgewählt habe. Ich verstehe jedoch, was Sie damit meinen, dass die nativen X-Kopier- / Einfügeoperationen nicht richtig synchronisiert werden. jtb vor 14 Jahren 0
Für die aktuelle Version von OSX (ich verwende 10.12) funktioniert Folgendes: https://stackoverflow.com/a/9525347/1353267 Samveen vor 5 Jahren 0

2 Antworten auf die Frage

14
jtb

Sie können die Synchronisierung der Zwischenablage aktivieren, ~/Library/Preferences/org.x.X11.plistindem Sie die folgenden fünf booleschen Tasten 1 bearbeiten und hinzufügen (und überprüfen).

sync_clipboard_to_pasteboard sync_pasteboard sync_pasteboard_to_clipboard sync_pasteboard_to_primary sync_primary_on_select 

Starten Sie X11 neu und sie sollten ordnungsgemäß synchronisiert werden.

Bearbeiten: Sie können die Schlüssel entweder mit dem Eigenschaftenlisten-Editor oder mit den folgenden Terminalbefehlen hinzufügen:

defaults write org.x.X11 sync_clipboard_to_pasteboard -boolean true defaults write org.x.X11 sync_pasteboard -boolean true defaults write org.x.X11 sync_pasteboard_to_clipboard -boolean true defaults write org.x.X11 sync_pasteboard_to_primary -boolean true defaults write org.x.X11 sync_primary_on_select -boolean true 

Eine alternative Lösung ist die Installation der neuesten Version von XQuartz, die diese Optionen über das X11 Preferences >> Pasteboard-Bedienfeld verfügbar macht.

Diese Zeile tippte auf mein Xterm und kopierte quer ...;) Diese Zeile wurde erfolgreich wieder in mein Xterm eingefügt ...;) Ein weiterer Fall, in dem meine Frau nicht verstehen konnte, wie äußerst befriedigend dieser Fix ist !! Vielen vielen Dank. kwutchak vor 14 Jahren 0
Danke für die Frage. Der Mac hat es sich zur Gewohnheit gemacht, Cmd + C so zu treffen, dass ich nicht wusste, was mir fehlte. Aber ich bin froh, dass ich das jetzt in meiner Konfig habe. jtb vor 14 Jahren 0
Ich habe XQuarts installiert und die Optionen dafür geändert. Wenn ich ssh an ein Remote-System mit aktiviertem XForwarding (auf beiden Systemen) sende und mit xclip Dinge (z. B.: ls | xclip) zur Zwischenablage hinzufüge, ändert sich die Zwischenablage auf meinem lokalen System (mac os x) nicht. Was vermisse ich? cwd vor 12 Jahren 0
Ich denke, die richtige Datei zum Schreiben ist `org.macosforge.xquartz.X11` Keith Smiley vor 10 Jahren 4
2
user47498

Sie können vim-7.3 auch neu kompilieren und Folgendes in Ihre .vimrc einfügen:

set clipboard=unnamed 

Dann können Sie 'yy' in vim erstellen und in Cocoa mit Cmd + V einfügen. Und umgekehrt: Mit Cmd + V in Cocoa kopieren und in vim mit 'p' einfügen

Beachten Sie, dass Ihr vim mit der Option "Zwischenablage" aktiviert sein muss, damit dies funktioniert. Sie können sehen, ob dies der Fall ist, indem Sie `vim --version | grep Zwischenablage`. Wenn es "+ Zwischenablage" sagt, dann sind Sie gut. Wenn "-Clipboard" steht, funktioniert das nicht. egarcia vor 10 Jahren 0