2012-04-11 8 views
29

Sto usando Ubuntu 12.04 Beta e Vim che è venuto con esso. Sto cercando di utilizzare Vim per copiare il contenuto di un file di testo sul browser Chrome. Ho provato +, * e tutte le sue varianti. Ho provato a :set clipboard=unnamed e :set clipboard=unnamedplus. Non funziona. Non sto cercando di usare xclip, o GVim o altro. Ho provato con xclip (non un pacchetto standard in Ubuntu 12.04), ma anche quello non funziona, anche troppo sforzo.Taglia agli Appunti di sistema da Vim su Ubuntu

Come copiare il testo negli Appunti e quindi incollarlo ovunque, come Chrome?

+1

Qual è l'output di 'vim --version'? –

+3

'" + y' funziona per me in Ubuntu (e in tutte le altre piattaforme che ho provato) –

+0

Sì, quel tag Beta mi ha incuriosito –

risposta

29

La versione di Vim non supporta X, necessaria per l'accesso agli Appunti. Di default, Ubuntu spedisce diverse build di vim e solo la variante GUI supporta l'accesso agli appunti. Ricompolo sempre vim dal sorgente in modo che un singolo vim (con symlink per gvim ecc.) Supporti tutto il necessario (incluso :gui per passare dalla versione da riga di comando a quella della GUI). E 'davvero molto facile da fare:

# Get the compile-dependencies of vim 
sudo apt-get build-dep vim 
# If you haven't got mercurial, get it 
sudo apt-get install mercurial 
# Get the source 
hg clone https://vim.googlecode.com/hg/ vim_source 
# Compile it 
cd vim_source 
./configure \ 
    --enable-perlinterp=dynamic \ 
    --enable-pythoninterp=dynamic \ 
    --enable-rubyinterp=dynamic \ 
    --enable-cscope \ 
    --enable-gui=auto \ 
    --enable-gtk2-check \ 
    --enable-gnome-check \ 
    --with-features=huge \ 
    --with-x \ 
    --with-compiledby="Your Name <[email protected]>" \ 
    --with-python-config-dir=/usr/lib/python2.7/config 
make && sudo make install 

che installerà in /usr/local, in modo da assicurarsi che sia nel vostro PATHprima/usr e sarà utilizzato al posto delle versioni di Ubuntu.

+0

buon suggerimento, @DrAl. Influirà su Vim che sta già funzionando? Non voglio rompere Vim. Posso perdere la funzione appunti per altri vantaggi di Vim. – Gattoo

+1

Finirai con due vim: '/ usr/bin/vim' e'/usr/local/bin/vim'. Puoi sempre eseguire quello vecchio con il percorso esplicito. Non sono sicuro che ciò che pensi possa essere infranto: puoi compilare qualsiasi funzionalità di cui hai bisogno, ma questo script di configurazione mette la maggior parte della roba. Vedi './configure --help' per maggiori opzioni. – DrAl

+0

Dovrei chiarire il mio commento: finirai anche con due gvims: '/ usr/bin/gvim' (da vim-gtk) e'/usr/local/bin/gvim' (un link simbolico a '/ usr/local/bin/vim' che si aprirà in modalità GUI per impostazione predefinita anziché il nome 'vim' che si aprirà in modalità console). Supporterà gli appunti anche se non si è in modalità GUI (e lo si può fare anche su ssh se si 'ssh -X' con un X-server sul computer client ssh). – DrAl

25

L'output vim --version dovrebbe mostrare qualcosa del genere:

Huge version with GTK2-GNOME GUI. Features included (+) or not (-): 

e più in basso in uscita si dovrebbe vedere cose del genere + XII:

+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim 
+xsmp_interact +xterm_clipboard -xterm_save 

Ciò significa che il vim console può copiare/incolla su/dagli appunti X11.

Prova apt-get install vim-gtk

+2

This. Dovresti usare vim-gtk, e forse prendere in considerazione la possibilità di impostare 'set Clipboard = unnamedplus' o impostare' clipboard = unnamed' nel tuo vimrc, in modo che il registro predefinito venga usato anche per le operazioni negli appunti. – ldx

+0

I have -x11 -xim -xsmp -xterm_clipboard -xterm_save. Significa che non otterrò mai la funzionalità degli Appunti? Come dovrei compilare vim per avere tutte le buone caratteristiche? Ha a che fare con la versione beta e cambierà quando verrà rilasciata la versione finale? Voglio anche usare vim in ssh, quindi no a vim-gtk – Gattoo

+0

Hai provato quello che suggerisco? Se lo facessi, scopriresti che puoi ancora usarlo nella console su ssh. – sashang

8

Installare il pacchetto vim-gnome invece di vim. Viene fornito con clipboard abilitato.

+0

Non ho visto un modello basato su Windows quando si utilizza Vim. Il primo requisito è lavorare su una casella non GUI. Supporta operazioni non GUI? – Gattoo

+0

'vim-gnome' è per Linux e non sono sicuro che funzioni su una casella non GUI. Non l'ho provato su un server. –

+0

@ dan-klasson, l'ho appena provato il 12.04. Funziona davvero – mcmlxxxiii

0

Vorrei aprire il file nel browser utilizzando un URL di file:

file:///home/dave/some-file 

Non super elegante ma funziona.

4

È inoltre possibile aggiungere collegamenti al vostro vimrc

# Copy and paste 
vmap <C-c> "+yi 
vmap <C-x> "+c 
vmap <C-v> c<ESC>"+p 
imap <C-v> <ESC>"+pa 

Essa vi permetterà di copiare da Ctrl + C e incollare da Ctrl + V

2

Se si dispone di esegui configure come spiegato da @DrAl ma non riesci ancora a ottenere la GUI compilata e la vedi nell'output del tuo ./configure

checking for X... (cached) no 

Quindi potrebbe essere necessario eliminare il file cache creato da configure.

find . -name config.cache -delete 

quindi rieseguire configure e make e controllare src/vim --version di nuovo - dovrebbe mostrare che gui è incluso ora.

+0

Really got bloccato lì. Grazie! – artemave

0

Mi piace molto questa serie di tasti di scelta rapida:

" Add shortcut for clipboard registers 
noremap <leader>p "*p 
noremap <leader>y "+y 
noremap <leader>d "+d 

E 'solo un modo più semplice quindi digitare "* e" + ogni volta.