Gibt es in Vim eine Funktion, mit der Klammern um den hervorgehobenen Text eingefügt werden können?
Wenn ich hervorheben Zum Beispiel n = getchar()
in if (n = getchar() == '\n')
, ich möchte Klammer um das setzen.
Sie benötigen einen fantastischen und unverzichtbaren Plugin- Surround . Dann wird es gerne tun, was Sie wollen, wenn Sie Text auswählen und eingeben Sb
(Klammern), oder S)
(beachten Sie die Großbuchstaben S!).
Tatsächlich kann es viel umschließen: verschiedene Anführungszeichen, Tags usw. Sie können den Cursor in das Wort mit doppelten Anführungszeichen setzen und doppelte Anführungszeichen in einfache Anführungszeichen cs"'
ändern, indem Sie Folgendes eingeben: (change-surround "
to '
). Oder Sie können Anführungszeichen durch Eingabe von ds"
(delete-surround "
) vollständig löschen .
Lesen Sie die Dokumente per Link, es ist wirklich super!
sb
(Klammern) oders)
.s
drücken, wird die Auswahl gelöscht und der Einfügemodus aufgerufen.Zusätzlich zu Dmitry's Vorschlag für das Surround-Plugin kann das Hinzufügen von Klammern um hervorgehobenen Text mit dem folgenden Befehl erfolgen:
Sie können eine Karte im visuellen Modus festlegen, indem Sie beispielsweise
\s
Folgendes zu Ihrer~/.vimrc
Datei hinzufügen :quelle
V
statt mitv
). In diesem Fall werden nur die Zeilen unter Ihren Eltern eingefügt.lh-Klammern werden einfach gebunden
(
, um die Auswahl mit den Klammern zu umgeben. Im Gegensatz zu Surround folgt es nicht der vim-Philosophie der üblichen Tastenkombination. Stattdessen werden weniger Schlüssel benötigt.Ansonsten gibt es viele Möglichkeiten, um fortzufahren. Wenn es Ihnen nichts ausmacht, das unbenannte Register durcheinander zu bringen, verwenden Sie auch
s(^R")<esc>
(^R
likeCTRL-R
).quelle
Aufbauend auf der Antwort von dotancohen habe ich folgendes in meine
.vimrc
:Sie können auf einfache Weise ähnliche Zuordnungen für [], {} usw. vornehmen. Dies funktioniert, indem Sie zu den Start- und Endmarkierungen springen, die implizit nach dem Beenden des visuellen Modus festgelegt wurden. Auf diese Weise werden bei Auswahl ganzer Zeilen die Parens am Anfang / Ende der ersten / letzten Zeile hinzugefügt. es überschreibt nicht Ihr Ruckregister; und es wird den Cursor direkt vor dem Eröffnungsparen verlassen.
quelle