gVim-Steuerzeichen unter Windows

7

Ich habe einige Daten aus einer App kopiert und sie enthält viele ^Ds und ^Ms. Ich habe es ^Dohne Probleme losgeworden :%s/^D//gund ich weiß, dass ich es ^Mmit so etwas entfernen kann, :%s/^V^M//gaber das Problem ist, dass ich unter Windows ^Vlaufe und Strg-V bin , das Daten aus der Zwischenablage in gvim einfügt. Wie entkomme ich der ^VEinfügefunktion von / ctrl-V in Windows for vim?

FrustratedWithFormsDesigner
quelle

Antworten:

8

von :help CTRL-V-alternative:

                                                *CTRL-V-alternative* *CTRL-Q*
Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
selection.  You can use CTRL-Q instead.  You can also use CTRL-Q in Insert
mode and Command-line mode to get the old meaning of CTRL-V.  But CTRL-Q
doesn't work for terminals when it's used for control flow.
ischeriad
quelle
5

Ein anderer für ^ M spezifischer Weg wäre die Verwendung, :%s/\r//gda ^ M ein Wagenrücklauf ist.

ischeriad
quelle
1

Verwenden Sie die Datei mswin.vim als Konfiguration, um Ihre bekannten MS Windows-Hotkeys zum Kopieren, Einfügen usw. zu verwenden. Kopieren Sie es von Ihrem Installationspfad in das Verzeichnis $ HOME, das in _vimrc umbenannt wurde. Geben Sie Folgendes ein: echo $ HOME, um herauszufinden, wo sich das befindet. Normalerweise so etwas wie C: \ Users \ 'Benutzername'. Starten Sie gVim neu und Ihre normalen Windows-Hotkeys vom Typ Strg-V, Strg-C sollten funktionieren.

Siehe Wo sollte sich die .vimrc-Datei unter Windows 7 befinden? für ein bisschen mehr Anleitung.

Lordmalik
quelle
0

Bitte benutzen :%s/\r/**\r\l**/g. Dadurch wird Ihr Wagenrücklauf in eine Kombination aus Wagenrücklauf und Zeilenvorschub im Windows-Stil konvertiert.

Alex
quelle
0

Ich hatte das gleiche Problem mit vi inside conemu und anderen Programmen, die Tastenanschläge unterbrechen und durch andere Aktionen ersetzen.

Ich habe dies umgangen, indem ich ^ K (Strg-K) verwendet habe, um einen Digraphen für das Suchen und Ersetzen einzugeben.

Zum Beispiel wollte ich NUL (0x00) Zeichen und CR (^ M oder 0xd) Zeichen entfernen

Normalerweise würde ich ^ V000 und ^ V ^ M verwenden, aber mit den definierten Standard-Digraphen können Sie Folgendes verwenden (Hinweis ^ K drückt Strg und K)

:%s/[^KNU^KCR]//g

Wenn diese Digraphen nicht funktionieren, können Sie die aktuell eingestellten anzeigen

:dig

Um zu sehen, wie Sie Ihr eigenes See definieren

:help :dig
Matt Vukomanovic
quelle