Smart Einrücken in vim (in der Regel gut) ist eine Katastrophe, wenn sie in einem Stück Code einfügen
-
19-08-2019 - |
Frage
Ich denke, andere Editoren intelligent genug sind, das Zeug zum Einfügen zu deaktivieren, aber wenn in einem Terminal mit vim es zwischen Einfügen und tatsächlichen Typisierung nicht unterscheiden kann.
Welche Arten von Lösungen oder Umgehungen tun Sie dafür?
Hinzugefügt: es gibt auch eine Einstellung, die Kommentare automatisch weiter auf der nächsten Zeile macht. Das Einrücken zumindest nicht die Semantik des Codes ändern, aber die Auto Kommentar Fortsetzung wirklich Schrauben Dinge. Kommen Sie, daran zu denken, sollte ich nur, dass ausschalten insgesamt - Wer weiß, was diese Option genannt wird
?Lösung
: set Paste ist der Weg zu gehen, aber wenn Sie vergessen, wie ich es oft tun, dann, wenn Sie mit einer Sprache, mit {} als Öffnen / Schließen von Blöcken, dann a =% auf dem ersten tun {oder letzte} das Einrücken erneut anwenden.
Andere Tipps
: set Paste
Fügen Sie diese auf Ihre .vimrc und dann mit der Taste F2 Paste-Status zu wechseln, bevor und nachdem Sie in Stücke von Code hinzufügen:
set pastetoggle=<F2>
Eine andere Möglichkeit, dies zu tun, vorausgesetzt, Sie Ihre Zwischenablage haben richtig eingerichtet ist, zu tun
"*p
Dies wird aus der Zwischenablage einfügen.
Überprüfen Sie Ihre vim --version
. Unter OS X müssen Sie +clipboard
und auf Linux +xterm_clipboard
, glaube ich.
Wenn Sie unter OS X sind, können Sie immer brew install macvim
und verwenden mvim -v
anstelle des gebündelten Vim (es ist nicht mit +clipboard
kompiliert wurde).