Impossibile copiare da vim negli Appunti di sistema


54

Come detto nel titolo, non riesco a copiare da VIM negli Appunti di sistema. Viceversa funziona, copiare dall'esterno e incollare pva bene.

Ho installato il supporto per gli appunti, la versione vim è 7.3.429:

$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+xsmp_interact +xterm_clipboard -xterm_save 

Io ho:

set clipboard=unnamedplus

nel mio .vimrced è impostato quando lo faccio:

set clipboard?

o

:echo has('clipboard')

Sto usando Ubuntu 12.04 LTS e vim all'interno gnome-terminal(ma anche GVim ha lo stesso problema). Qualche idea?

Grazie


stackoverflow.com/questions/11489428/… Questo potrebbe aiutarti un po '.
Coteyr,

Hai lasciato Vim tra la digitazione di "+ y sulla selezione visiva e il tentativo di incollare al di fuori di Vim? Non funzionerà se lo fai
Samuel Peter,

@SamuelPeter No, non ho lasciato Vim
gc5 il

1
Ho riscontrato questo problema perché stavo facendo clipboard+=unnamedplusqualcosa nell'impostazione predefinita disabilitandolo. Il passaggio a clipboard=unnamedplus(ad es. Rimozione di altre impostazioni) ha funzionato per me.
JonnyRaa,

Come menzionato @JonnyLeeds. La configurazione set clipboard+=unnamede set clipboard+=unnamedplusnon funziona durante l'utilizzo di y e p per la quota negli appunti di sistema. :set clipboard?== clipboard=autoselect,exclude:cons\|linux,unnamed,unnamedplus; Dopo aver rimosso il primo +, che è set clipboard=unnamede set clipboard+=unnamedplus, e funziona !! :set clipboard?==clipboard=unnamed,unnamedplus
Marslo,

Risposte:


87

Questo è ciò che funziona per me (Ubuntu 13.10):

Reinstalla vim come vim-gtk:

sudo apt-get install vim-gtk

seleziona quello che vuoi usando il mouse - quindi digita per copiare negli appunti :

"+y

incollare su Vim dagli Appunti tipo di :

"+p

Non so perché, ma confrontando l'output di vim --version mostra che la solita installazione di VIM è piuttosto limitata rispetto a Vim-GTK. La sostituzione di vim con vim-gtk non ha influito su alcun plug-in.


Ulteriori informazioni:


1
Non posso esprimere quanto mi hai aiutato e quanto sono felice ora: D
7hi4g0

1
È interessante notare che il 14.04 sia VIM normale che VIM-GTK xterm_clipboardsupportano, ma "+pnon funzionano con VIM normale. Invece di tagliare negli appunti, aumenta la quantità di linee selezionate.
dotancohen,

1
L'installazione alla vim-gtkfine ha funzionato per me in 14.04.4, ma ho vissuto le cose in modo leggermente diverso rispetto ad altri commentando. Prima di aver vim-gtkinstallato, vim stava mostrando -xterm_clipboard(cioè non abilitato). Dopo l'installazione vim-gtkmostra (+ xterm_clipboard). Lo sto verificando con vim --version | grep clip. Comunque, ha senso che tu abbia bisogno +xterm_clipboard!
ripensare il

Questa è un'ottima soluzione In realtà, ho reso questa la mia prima cosa da fare dopo aver installato un nuovo sistema operativo Ubuntu.
linbianxiaocao,

L'installazione di vim-gtk ha funzionato per me. Grazie
Miguel Mota l'

6

Lascerò la risposta originale qui sotto perché potrebbe essere importante per gli altri che cercano questa domanda.

In breve, non sembra esserci una risposta unica per tutte le risposte, ma con 'set clipboard = unnamedplus' uno degli '* p' o '+ p' dovrebbe funzionare dagli appunti "di sistema".

'* p' è quasi sicuramente quello che desideri. ( da qui )


vim è un programma cli. Quando lo si utilizza all'interno di gnome-terminal (o di qualsiasi emulatore di terminale) crtl + c (o qualsiasi combinazione di tasti) viene gestito prima dall'emulatore di terminale, quindi dalla shell, quindi infine dal programma (vim in questo caso). vim e ctrl + c non funzioneranno quasi mai perché ctrl + c invia un segnale SIGINT all'attività in esecuzione. vim usa SIGINT per interrompere altre cose come l'interruzione della modalità di inserimento o l'interruzione delle funzioni di ricerca.

In altre parole. Ctrl + C non viene mai effettivamente passato a VIM. SIGINT viene passato a VIM. SIGINT ha altri usi in vim, quindi l'uso per copiare probabilmente non funzionerà (e anche se puoi forzarlo, non è una buona idea).

Prova invece a rimanere con Ctrl + Maiusc + C e Ctrl + Maiusc + V (ce ne sono altri ma credo che quelli mettano del testo negli appunti di sistema)

Ad essere sinceri, non so molto su gvim.


Forse ti ho confuso .. Ho detto di usare ctrl-cESTERNO vim e incollare p, ma in vim so che devo usare y..
Modificherò la

1
LOL non ha ancora preso la mia caffeina, scusa.
Coteyr,

5

Usa nel tuo vimrc:

set mouse=a

Ti permetterà di selezionare e copiare manualmente con il mouse.


3

Oltre alla risposta accettata , se si lavora in remoto su SSH (ad es. tmuxCon più riquadri con vimprocessi diversi tra cui si desidera copiare), è necessario esportare il display X poiché vimsi utilizza xterm-clipboardper interfacciarsi tra processi diversi. È possibile impostare il display X eseguendo

export DISPLAY=:0.0

Deve essere eseguito prima vim dell'avvio e sotto qualsiasi altra shell.


1

Ho trovato su Ubuntu 16.04 che devo vim-gui-commoninstallare per "+yfunzionare.

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.