Per impostazione predefinita, le scorciatoie taglia/copia/incolla in GVim su Ubuntu sono:
Taglia "+ x Copia" + y Incolla "+ gP
Mi piacerebbe utilizzare le combo di tasti di controllo in GVim, come utilizzo in Firefox e in altre applicazioni gnome. Come posso configurare GVim per funzionare come le altre app di Gnome?
Aggiungi le seguenti righe al tuo _vimrc
o .vimrc
source $VIMRUNTIME/mswin.vim
behave mswin
Ma attenzione, la modalità visuale è quindi CTRL-Q invece di CTRL-V.
Per una panoramica di cosa mswin.vim vede il mswin.vim sourcode . Viene commentato molto bene e se qualche comando non è chiaro, puoi facilmente cercarlo nell'aiuto di vim.
Ecco una breve panoramica compilata dalla fonte:
- i tasti backspace e cursore si posizionano sulla riga precedente/successiva
- CTRL-X e SHIFT-Del sono tagliati
- CTRL-C e CTRL-Insert sono copie
- CTRL-V e SHIFT-Insert sono Incolla
- Usa CTRL-Q per fare ciò che CTRL-V ha usato per fare
- Usa CTRL-S per salvare, anche in modalità Inserisci
- CTRL-Z è Annulla; non in cmdline però
- CTRL-Y è Redo (anche se non si ripete); non in cmdline però
- Alt-Space è il menu di sistema
- CTRL-A è Seleziona tutto
- CTRL-Tab è Next window
- CTRL-F4 è la finestra Chiudi
Alla richiesta di Nippysaurus: ho inserito il mio .gvimrc per mostrare Ctrl-V oltre a Incolla nel menu:
unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V "+gP
cnoremenu &Edit.&Paste<Tab>Ctrl-V <C-R>+
Non l'ho testato a fondo, solo un rapido controllo se ha fatto quello che mi aspettavo. Funziona per me, spero che funzioni per te ;-)
Se vuoi tagliare/copiare/incollare per lavorare usando i tasti di scelta rapida "standard", ma non vuoi cambiare nessuna delle altre opzioni di configurazione in gvim, prova ad aggiungere quanto segue a ~/.vimrc
.
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+
Incolla funziona solo in modalità di visualizzazione e inserimento, quindi non devi preoccuparti del conflitto con Ctrl-V e la modalità visiva a blocchi. Questo non è un problema, perché Copy and Cut ti mette in modalità di inserimento, quindi puoi subito incollare. Se lo provi, scoprirai che è completamente naturale.
Sono arrivato con questa configurazione dopo diverse iterazioni di tweaking, e penso che sia "perfetto" ora. Se sei anche un po 'insoddisfatto della tua attuale configurazione di copia/incolla, prova questo e scommetto che ti piacerà.
Se si desidera mantenere il normale comportamento di Vim, ma anche consentire un uso meno ingombrante degli Appunti di sistema, vedere Accedere agli Appunti di sistema . Se desideri che gvim usi gli Appunti di sistema come buffer predefinito (quindi qualsiasi comando x
, y
, p
, ecc. Usa gli appunti) quindi aggiungi la seguente riga al tuo vimrc:
set clipboard=unnamed
Personalmente uso i buffer molto più all'interno di vim che tra vim e il sistema; quindi preferirei avere una scorciatoia leggermente più macchinosa di quella che i miei appunti di sistema siano costantemente danneggiati. Ma è bello che l'opzione è lì per coloro che lo preferirebbero.
Penserei che è possibile aggiungere questo con il comando: imap (provato solo con Ctrl + X in Windows che ha funzionato, premendo ctrl + c sembra annullare il comando anche se così si potrebbe doverlo fare in vimrc).
:imap <C-X> "+x
:imap <C-C> "+y
:imap <C-V> "+gP
Se lo aggiungi al tuo ~/.vimrc devi solo rimuovere:: di fronte a imap.
imap aggiunge solo i binding in modalità di inserimento, quindi potresti cambiarlo semplicemente per mappare o qualcos'altro. Esamina :help mapmode
per ulteriori informazioni su rimappatura e rimozione di materiale.
In bocca al lupo!