Come copiare le righe selezionate negli appunti in vim. So come farlo per tutti i file di testo , ma voglio farlo per le righe selezionate. Grazie!
Come copiare le righe selezionate negli appunti in vim. So come farlo per tutti i file di testo , ma voglio farlo per le righe selezionate. Grazie!
Risposte:
SHIFTVti mette in modalità di selezione delle linee. Quindi "*ytrascina le righe attualmente selezionate nel *registro che è la clipboard. Ci sono molti registri diversi, per scopi diversi. Vedere la sezione su selection and drop registersper i dettagli sulle differenze tra *e +registri su Windows e Linux.
Se sei su Linux e stai utilizzando una versione VIm 7.3.74 o successiva (la versione che viene installata in Ubuntu 11.10 in poi lo soddisfa), puoi farlo
set clipboard=unnamedplus
che posizionerà il testo strappato negli appunti globali e ti consentirà di incollare dagli appunti globali, senza dover utilizzare alcun registro speciale. A differenza della soluzione di ldigas, funzionerà anche su versioni non gui di VIm.
vim-gnomepacchetto invece di vim.
vim --version | grep "+xterm_clipboard".
clipboard=unnamed( vim.wikia.com/wiki/Accessing_the_system_clipboard )
set guioptions+=a
... uhmm, in breve, ogni volta che selezioni / strappi qualcosa lo metti anche negli appunti (non quello di Vim, ma la tastiera globale del sistema a finestre). In questo modo non devi pensare di trascinare le cose in un registro speciale.
Per GVIM, premi vper entrare in modalità visuale; seleziona il testo e premi Ctrl+Insertper copiare la selezione negli appunti globali.
Dal menu puoi vedere che il tasto di scelta rapida è "+ycioè tenere premuto il tasto Maiusc, quindi premere ", +quindi rilasciare Maiusc e premere y(ingombrante rispetto a Maiusc + Inserisci).
Se stai usando vim in MAC OSX, sfortunatamente viene fornito con la versione precedente e non è conforme alle opzioni degli appunti. Fortunatamente, l'homebrew può facilmente risolvere questo problema.
installa vim:
brew install vim --with-lua --with-override-system-vim
installa la versione gui di vim:
brew install macvim --with-lua --with-override-system-vim
riavviare il terminale per avere effetto.
aggiungere la riga seguente a ~ / .vimrc
set clipboard=unnamed
ora puoi copiare la riga in vim con yy
e incollarla a livello di sistema.
Installa "xclip" se non hai ...
sudo apt-get install xclip
Xclip inserisce i dati negli appunti "selezione / evidenziati" che fai clic con il pulsante centrale per incollare anziché "ctrl + v"
Mentre in vim usa i comandi ex:
7w !xclip
o
1,7w !xclip
o
%w !xclip
Quindi fai clic con il pulsante centrale per incollare in qualsiasi altra applicazione ...
Se vim è compilato con il supporto degli appunti, puoi usare il "*ysignificato: trascina il testo selezionato visivamente nel registro *('*' è per gli appunti)
Se non c'è il supporto per gli appunti, penso che solo un altro modo sia quello di usare Ctrl+Insertdopo aver selezionato visivamente il testo in vim.
Ho aggiunto la seguente riga al mio .vimrc
vnoremap <F5> "+y<CR>
Ciò consente di copiare il testo selezionato negli appunti premendo F5. Devi essere in modalità visuale affinché funzioni.
~/.vimrcGrazie, questo è molto meglio.
Aggiungi il seguente codice nel tuo .vimrc:
if has('clipboard')
if has('unnamedplus') " When possible use + register for copy-paste
set clipboard=unnamed,unnamedplus
else " On mac and Windows, use * register for copy-paste
set clipboard=unnamed
endif
endif