VIM Ctrl-V in conflitto con Windows Paste


110

Sto usando VIM in Windows. Il problema è che voglio usare CtrlVcome modalità visiva. Tuttavia, questa chiave è in conflitto con Windows Paste. Come posso ripristinare questa chiave in modalità visuale VIM invece di incollare. Preferisco impostarlo nel mio file di configurazione _vimrc.

Risposte:


145

Dalla documentazione VIM :

Poiché CTRLVviene utilizzato per incollare, non è possibile utilizzarlo per avviare una selezione visiva a blocchi. Puoi usare CTRLQinvece. È inoltre possibile utilizzare CTRLQin modalità di inserimento e in modalità riga di comando per ottenere il vecchio significato di CTRLV. Ma CTRLQ non funziona per i terminali quando viene utilizzato per il flusso di controllo.


2
Mi piace di più che giocherellare con _vimrc. Funziona immediatamente e poiché è improbabile che io sia su terminali seriali in futuro, il controllo di flusso Ctrl-S / Ctrl-Q non è un problema.
Michael Dillon

Su Linux (terminale Gnome) ho trovato meglio usare CTRL-K CR , ma ho trovato prima questa risposta.
jalanb

3
Per qualche motivo avevo bisogno di usare il Shifttasto per la selezione visiva su Windows, mentre non su Linux.
stevesliva

1
Grazie user132014! Trovo che devi usare h, j, k e l per navigare in modalità blocco visivo usando Ctrl-Q, però. Questo è il caso dell'editor gVim per Windows. Le frecce non sembrano funzionare per me in gVim per Windows durante la navigazione in modalità blocco visivo usando Ctrl-Q.
Ratnesh Chandna

3
@RatneshChandna - Usa Shiftinsieme alle frecce? Sto vedendo lo stesso comportamento, ma in qualche modo ho scoperto che ha Shiftfunzionato. Non sapevo che h / j / k / l funzionasse.
stevesliva

40

Controlla il tuo file _vimrc e vedi se contiene mswin.vim. Quello script associa il ^ v alla pasta. Puoi rimuovere quella riga dal tuo file _vimrc o disabilitare i comandi di mappatura direttamente su mswin.vim.

Fai a: help comportati su vim per maggiori informazioni.


24

La modalità visiva (e altre cose) che funziona come in Unix richiede i suggerimenti di JOP e del programmatore Windows.

In GVim su Windows, vai al menu di modifica, fai clic sulle impostazioni di avvio e commenta la spazzatura specifica di Windows (usando il carattere di commento vimrc, che è una virgoletta doppia). Il file mswin.vim è dove viene specificato ctrl- voverride e l'opzione si comporta in mswin fa in modo che i tasti freccia non applichino solo il movimento come ci si aspetterebbe (cambia anche il comportamento di selezione del mouse).

"source $VIMRUNTIME/mswin.vim
"behave mswin

Mi piace aggiungere anche uno schema di colori con sfondo nero, quindi assomiglia di più a quello che vedrei in un terminale (e perché uno sfondo chiaro è fantastico sulla carta, ma terribile su uno schermo retroilluminato): colorscheme koehler



14

Preferisco le stesse sequenze di tasti ovunque, quindi lo uso nel mio .vimrc per sovrascrivere mswin.vim:

if has('win32')
  " Avoid mswin.vim making Ctrl-v act as paste
  noremap <C-V> <C-V>
endif

7

Non sono sicuro che tu possa fare molto al riguardo. Puoi usare CtrlQinvece.


4

La combinazione del consiglio di jop (cercando mswin.vim nel file _vimrc predefinito) e del consiglio del "programmatore Windows" (sbarazzarsi della riga "comportati mswin") ha funzionato alla grande per me.

(la mia reputazione è troppo bassa per votarli o combinarli - qualcuno lo ripulisca per me, o tornerò una volta che il mio rappresentante sarà più alto)


3
In altre parole, stavi cercando di lasciare un commento?
Christopher Bottoms

1
Eh, sono un utente di stackoverflow poco frequente (da qui la mia scarsa reputazione)
Rick Reynolds
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.