Condivisione degli appunti di Mac OS X con il server X interno


21

Mi piacerebbe essere in grado di copiare e incollare tra le app MacOS X native (Cocoa?) E quelle in esecuzione sul server X interno di Mac.

Attualmente posso copiare e incollare in modo indipendente. Se seleziono il testo in una finestra xterm, posso incollarlo nuovamente in qualsiasi altra finestra basata su X. Allo stesso modo, la copia di informazioni al di fuori di X può essere incollata in applicazioni che si trovano anche al di fuori di X.

Ad esempio, se I (esattamente in questo ordine):

  • Copia (seleziona usando il mouse) "Copia usando la selezione X" in una finestra xterm
  • Copia (Modifica | Copia) "Testo in Firefox" in Firefox
  • Incolla (Maiusc Inserisci xmodmap) in nano Ottengo "Copia usando la selezione X"
  • Incolla (Modifica | Incolla) qui ottengo -> Testo in Firefox
  • Incolla in MacVIM (Modifica | Incolla) Ottengo "Testo in Firefox"
  • Incolla in / usr / bin / vim (non grafico) Ottengo "Copia usando la selezione X"

Come abilito la "condivisione degli appunti" tra X e Cocoa?

La xmodmap che sto usando per incollare in X è:

xmodmap -e "keycode 84 = Insert"

dove 84 è il tasto Invio del tastierino numerico. Quindi Shift Enter mi dà incolla.


È coerente tra le applicazioni X? Lo stai provando in modo semplice xtermo simile, no vimo qualcosa con i suoi buffer? Quale versione di OS X stai utilizzando? I miei appunti sono condivisi tra Cocoa e X11 come previsto in 10.5.7.
jtb

Ehi jtb, grazie per il tuo aiuto. Uso vim e ho familiarità con i problemi legati all'uso dei suoi buffer interni. Normalmente imbroglio e passaggio alla modalità di modifica, quindi incolla dal menu di modifica di gvim (o MacVim). Ho aggiunto alcune informazioni extra al mio post per chiarire le altre parti della tua domanda.
kwutchak,

Ah, grazie per le informazioni extra. Sto vedendo principalmente ciò che descrivi sebbene l'incolla nel passaggio 3 funzioni (usando il clic centrale, non ho mappato Inserisci). Command-C sembra copiare negli Appunti nativi se ho testo selezionato in X11, ma vedo cosa intendi dire che usando le operazioni native di copia / incolla di X non è sincronizzato correttamente.
jtb

Per la versione recente di OSX (io uso 10.12), i seguenti lavori: stackoverflow.com/a/9525347/1353267
Samveen

Risposte:


14

È possibile abilitare la sincronizzazione degli Appunti modificando ~/Library/Preferences/org.x.X11.pliste aggiungendo i seguenti cinque tasti booleani 1 (e controllandoli).

sync_clipboard_to_pasteboard
sync_pasteboard
sync_pasteboard_to_clipboard
sync_pasteboard_to_primary
sync_primary_on_select

Riavvia X11 e dovrebbero essere sincronizzati correttamente.

Modifica: è possibile aggiungere le chiavi con l'Editor elenco proprietà o con i seguenti comandi Terminale:

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

Una soluzione alternativa è installare l' ultima versione di XQuartz che espone queste opzioni attraverso il pannello Preferenze >> Pannello X di X11.


Questa riga è stata digitata sul mio xterm e copiata su ...;) Questa riga è stata incollata con successo nel mio xterm ...;) Un altro caso in cui mia moglie non capisce quanto sia estremamente soddisfacente questa correzione !! Grazie mille.
kwutchak,

Grazie per avermelo chiesto. Il Mac ha l'abitudine di colpire Cmd + C nella misura in cui non ho realizzato quello che mi mancava. Ma sono abbastanza contento di avere questo nella mia configurazione ora.
jtb

Ho installato XQuarts e ho cambiato le opzioni per questo. Quando faccio ssh su un sistema remoto con XForwarding abilitato (su entrambi i sistemi) e aggiungo cose agli appunti usando xclip (es: ls | xclip) gli appunti sul mio sistema locale (mac os x) non cambiano. Cosa mi sto perdendo?
Cwd,

4
Penso che il file corretto su cui scrivere ora siaorg.macosforge.xquartz.X11
Keith Smiley il

2

Puoi anche ricompilare vim-7.3 e aggiungere quanto segue al tuo .vimrc:

set clipboard=unnamed

Quindi sarai in grado di fare 'yy' in vim e incollare in Cocoa con Cmd + V. E viceversa: copia con Cmd + V in Cocoa e incolla in vim con 'p'


nota che il tuo vim deve essere compilato con l' clipboardopzione on affinché questo funzioni. Puoi vedere se lo è eseguendo vim --version | grep clipboard. Se dice +clipboard, allora sei bravo. Se dice -clipboard, questo non funzionerà.
egarcia,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.