VIM Strg-V Konflikt mit Windows Paste


110

Ich verwende VIM in Windows. Das Problem ist, dass ich CtrlVals visuellen Modus verwenden möchte . Dieser Schlüssel hat jedoch einen Konflikt mit Windows Paste. Wie kann ich diesen Schlüssel auf den visuellen VIM-Modus zurücksetzen, anstatt ihn einzufügen? Ich ziehe es vor, dies in meiner _vimrc-Konfigurationsdatei festzulegen.

Antworten:


145

Aus der VIM-Dokumentation :

Da CTRLVzum Einfügen verwendet wird, können Sie damit keine blockweise visuelle Auswahl starten. Sie können CTRLQstattdessen verwenden. Sie können auch CTRLQim Einfügemodus und im Befehlszeilenmodus verwenden, um die alte Bedeutung von zu erhalten CTRLV. Funktioniert CTRLQ jedoch nicht für Terminals, wenn sie für den Kontrollfluss verwendet werden.


2
Ich mag das besser als mit _vimrc herumzuspielen. Es funktioniert sofort und da es unwahrscheinlich ist, dass ich in Zukunft an seriellen Terminals bin, ist die Flusssteuerung Strg-S / Strg-Q kein Problem.
Michael Dillon

Unter Linux (Gnome-Terminal) fand ich es besser, STRG-K CR zu verwenden , aber ich fand diese Antwort zuerst.
Jalanb

3
Aus irgendeinem Grund musste ich den ShiftSchlüssel für die visuelle Auswahl unter Windows verwenden, während ich dies unter Linux nicht tat.
stevesliva

1
Vielen Dank user132014! Ich finde, dass Sie h, j, k und l verwenden müssen, um mit Strg-Q im visuellen Blockmodus zu navigieren. Dies ist beim gVim-Editor für Windows der Fall. Die Pfeile scheinen in gVim für Windows nicht zu funktionieren, wenn ich mit Strg-Q im visuellen Blockmodus navigiere.
Ratnesh Chandna

3
@RatneshChandna - ShiftZusammen mit den Pfeilen verwenden? Ich sehe das gleiche Verhalten, habe aber irgendwie entdeckt, dass es Shiftfunktioniert hat. Ich wusste nicht, dass h / j / k / l funktioniert.
stevesliva

40

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

Machen Sie eine: Hilfe, um sich auf vim zu verhalten, um weitere Informationen zu erhalten.


24

Der visuelle Modus (und andere Dinge), die wie in Unix funktionieren, erfordert sowohl JOPs als auch Windows Programmer-Vorschläge.

Gehen Sie in GVim unter Windows zum Bearbeitungsmenü, klicken Sie auf Starteinstellungen und kommentieren Sie den Windows-spezifischen Müll aus (mithilfe des vimrc-Kommentarzeichens, bei dem es sich um ein doppeltes Anführungszeichen handelt). Die mswin.vim Datei ist , wo die ctrl- vÜberschreibung angegeben wird, und die behave mswin Option macht es so , dass die Pfeiltasten nicht nur Bewegung gelten wie man es erwarten würde (es ändert sich auch mit der Maus Auswahlverhalten).

"source $VIMRUNTIME/mswin.vim
"behave mswin

Ich füge dort auch gerne ein Farbschema mit schwarzem Hintergrund 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



14

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

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

7

Ich bin mir nicht sicher, ob Sie viel dagegen tun können. Sie können jedoch CtrlQstattdessen verwenden.


4

Die Kombination aus den Ratschlägen von jop (Suche nach mswin.vim in der Standarddatei _vimrc) und den Ratschlägen von "Windows-Programmierern" (die Zeile "mswin verhalten") wurde für mich wie ein Zauber gewirkt.

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


3
Mit anderen Worten, haben Sie versucht, einen Kommentar zu hinterlassen?
Christopher Bottoms

1
Heh, ich bin ein seltener Stackoverflow-Benutzer (daher mein geringer Ruf)
Rick Reynolds
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.