Mac OS Xクリップボードを内部Xサーバーと共有する


21

ネイティブ(Cocoa?)MacOS XアプリとMacの内部Xサーバーで実行されているアプリの間でコピーアンドペーストできるようにしたいと思います。

現在、個別にコピーして貼り付けることができます。xtermウィンドウでテキストを選択すると、他のXベースのウィンドウに貼り付けることができます。同様に、Xの外部にある情報のコピーは、Xの外部にもあるアプリケーションに貼り付けることができます。

例として、私が(まさにこの順序で):

  • コピー(マウスを使用して選択)xtermウィンドウで「X選択を使用してコピー」
  • Firefoxで「Firefoxのテキスト」をコピー(編集|コピー)
  • nanoに貼り付け(Shift Insert xmodmap)すると、「X選択を使用してコピー」が得られます
  • 貼り付け(編集|貼り付け)ここに表示されます-> Firefoxのテキスト
  • MacVIMに貼り付け(編集|貼り付け)「Firefoxのテキスト」が表示される
  • / usr / bin / vim(非グラフィカル)に貼り付けます。「X選択を使用してコピー」が表示されます。

XとCocoaの間で「クリップボード共有」を有効にするにはどうすればよいですか?

Xに貼り付けるために使用しているxmodmapは次のとおりです。

xmodmap -e "keycode 84 = Insert"

84は数値キーパッドのEnterキーです。したがって、Shift Enterを押すと貼り付けられます。


これはXアプリケーション間で一貫していますか?あなたはそれをプレーンxtermまたは類似のもので試してvimいますか、それとも独自のバッファを持つものですか?OS Xのどのバージョンを実行していますか?私のクリップボードは、10.5.7で予想されるとおり、CocoaとX11で共有されます。
jtb 09

こんにちは、jtb、ご協力ありがとうございます。私はvimを使用しており、vimの内部バッファーの使用に関する問題に精通しています。私は通常、チートして編集モードに切り替え、gvim(またはMacVim)の編集メニューから貼り付けます。あなたの質問の他の部分を明確にするために、私の投稿にいくつかの追加情報を追加しました。
クワッチャク2009

ああ、追加情報をありがとう。手順3の貼り付けは機能しますが、ほとんどの場合、説明が表示されます(中クリックを使用すると、挿入がマッピングされません)。X11でテキストが選択されている場合、Command-Cはネイティブクリップボードにコピーするように見えますが、ネイティブXのコピー/貼り付け操作を使用すると、正しく同期されないということがわかります。
jtb 2009

:OSX(私が10.12を使用)、次の作品の最新バージョンについてはstackoverflow.com/a/9525347/1353267
Samveen

回答:


14

クリップボードの同期を有​​効に~/Library/Preferences/org.x.X11.plistするには、次の5つのブールキー1を編集および追加(およびチェック)します。

sync_clipboard_to_pasteboard
sync_pasteboard
sync_pasteboard_to_clipboard
sync_pasteboard_to_primary
sync_primary_on_select

X11を再起動すると、適切に同期するはずです。

編集:プロパティリストエディターまたは次のターミナルコマンドを使用してキーを追加できます。

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

別の解決策は、X11 Preferences >> Pasteboardパネルからこれらのオプションを公開するXQuartz最新バージョンをインストールすることです。


この行は私のxtermに入力してコピーしました...;)この行は正常にxtermに貼り付けられました...;)この修正がどれほど満足できるかを妻が理解できない別のケース!! 本当にありがとう。
クワッチャク2009

質問してくれてありがとう。Macには、何が足りないのか分からない程度にCmd + Cを押す習慣があります。しかし、私は今、これを私の設定に含めることができてとてもうれしいです。
JTB

XQuartsをインストールし、そのオプションを変更しました。XForwardingが有効な(両方のシステムで)リモートシステムにsshし、xclip(例:ls | xclip)を使用してクリップボードに追加すると、ローカルシステム(mac os x)のクリップボードは変更されません。私は何が欠けていますか?
cwd

4
私は今までの書き込みに正しいファイルを考えるorg.macosforge.xquartz.X11
キース・スマイリー

2

vim-7.3を再コンパイルして、次を.vimrcに追加することもできます。

set clipboard=unnamed

次に、vimで「yy」を実行し、Cmd + Vを使用してCocoaに貼り付けます。そしてその逆:CocoaでCmd + Vでコピーし、「p」でvimに貼り付けます


clipboardこれを機能させるには、オプションをオンにしてvimをコンパイルする必要があることに注意してください。実行することで確認できますvim --version | grep clipboard。それが言うなら+clipboard、あなたは良いです。と表示されている場合-clipboard、これは機能しません。
エガルシア
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.