it-swarm.com.de

VIM Ctrl-V Konflikt mit Windows Paste

Ich verwende VIM in Windows. Das Problem ist, dass ich verwenden möchte CtrlV als visueller Modus. Dieser Schlüssel hat jedoch einen Konflikt mit dem Einfügen in Windows. Wie kann ich diesen Schlüssel auf den visuellen Modus VIM zurücksetzen, anstatt ihn einzufügen?.

107
David.Chu.ca

Von der VIM Dokumentation :

Schon seit CTRLV wird zum Einfügen verwendet und kann nicht zum blockweisen Starten einer visuellen Auswahl verwendet werden. Sie können verwenden CTRLQ stattdessen. Sie können auch verwenden CTRLQ im Einfügemodus und im Befehlszeilenmodus, um die alte Bedeutung von zu erhalten CTRLV. Aber CTRLQ Funktioniert nicht für Terminals, wenn es für den Kontrollfluss verwendet wird.

141
Alex

Überprüfen Sie Ihre _vimrc-Datei und prüfen Sie, ob sie mswin.vim enthält. Dieses Skript ordnet das ^ v der Paste zu. Sie können diese Zeile entweder aus Ihrer _vimrc-Datei entfernen oder die Zuordnungsbefehle direkt in mswin.vim deaktivieren.

Tun Sie Folgendes: Hilfe Verhalten auf vim für weitere Informationen.

39
jop

Für den visuellen Modus (und andere Dinge), die wie in Unix funktionieren, sind Vorschläge von JOP und Windows Programmer erforderlich.

Gehen Sie in GVim unter Windows zum Bearbeitungsmenü, klicken Sie auf Starteinstellungen und kommentieren Sie den Windows-spezifischen Papierkorb aus (mit dem vimrc-Kommentarzeichen, das in doppelte Anführungszeichen eingeschlossen ist). In der Datei mswin.vim wird die Strg-V-Überschreibung angegeben, und die Option behave mswin bewirkt, dass die Pfeiltasten nicht nur die erwartete Bewegung anwenden (dies ändert auch das Verhalten der Mausauswahl).

"source $VIMRUNTIME/mswin.vim
"behave mswin

Ich füge dort auch gerne ein Schwarz-Hintergrund-Farbschema hinzu, damit es eher so aussieht, wie ich es in einem Terminal sehen würde (und weil ein heller Hintergrund auf Papier großartig ist, aber auf einem hintergrundbeleuchteten Bildschirm schrecklich): colorscheme koehler

24
dannysauer

Wenn diese Zeile in Ihrem _vimrc Sie stört:

behave mswin

dann lösche diese Zeile.

20

Ich bevorzuge überall dieselben Tastenanschläge, daher verwende ich diese in meiner .vimrc-Datei, um mswin.vim zu überschreiben:

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

Ich bin mir nicht sicher, ob Sie viel dagegen tun können. Sie können verwenden CtrlQ stattdessen aber.

7
Starkii

Die Kombination der Ratschläge von jop (in der voreingestellten _vimrc-Datei nach mswin.vim suchen) und der Ratschläge von "Windows programmer's" (die Zeile "behave mswin" loswerden) wirkte für mich wie ein Zauber.

(Mein Repräsentant ist zu niedrig, um ihn abzustimmen oder zu kombinieren - jemand räumt das für mich auf, oder ich komme zurück, sobald mein Repräsentant höher ist.)

3
Rick Reynolds