it-swarm.com.de

Wie kann man mehrere Zeilen gleichzeitig kommentieren?

Wie kann ich eine Reihe von Texten auswählen und alles auskommentieren?

Momentan gehe ich in die erste Zeile, gehe in den Einfügemodus und tippe # left-arrowdown-arrow und dann wiederhole ich diese Sequenz und speichere vielleicht ein paar Tastenanschläge, indem ich die Wiederholungsfunktion . verwende, um jede Zeile auszuführen.

Gibt es sowieso könnte ich (zum Beispiel) entweder mehrere Zeilen im visuellen Modus oder mit einem Zeilenbereich und einem ex ('Doppelpunkt') Befehl auswählen und für diesen Bereich alle Zeilen mit einem # Auskommentieren mach sie zu einem "Blockkommentar".

Die Möglichkeit, einen Blockkommentar schnell zu entfernen (entfernen Sie die #), Wäre ebenfalls hilfreich.

92
Michael Durrant

Bereiche:

Sie können dies mit den folgenden Befehlen tun:

zum Kommentieren:

:66,70s/^/#

zum Kommentieren:

:66,70s/^#/

Offensichtlich kommentieren wir hier Zeilen von 66 bis 70 (einschließlich).

119
periket2000

Visueller Blockmodus

Bewegen Sie zuerst den Cursor auf das erste Zeichen der ersten Zeile im Blockcode, den Sie kommentieren möchten, und geben Sie dann Folgendes ein:

Ctrl + v                                    

dann geht vim in VISUAL BLOCK Modus. Verwenden Sie j, um den Cursor nach unten zu bewegen, bis Sie die letzte Zeile Ihres Codeblocks erreichen. Geben Sie dann Folgendes ein:

Shift + i

jetzt wechselt vim in den Modus INSERT und der Cursor befindet sich am ersten Zeichen der ersten Zeile. Geben Sie schließlich # dann ESC und der Codeblock wird jetzt kommentiert.

Um zu dekommentieren, machen Sie die gleichen Dinge, aber anstatt Shift + I, geben Sie einfach x ein, um alle # nach dem Hervorheben in VISUAL BLOCK Modus.

147
cuonglm

Ersatz

Der Vollständigkeit halber ist hier ein anderer Weg:

  1. Rufen Sie den visuellen Modus auf, indem Sie v drücken
  2. wählen Sie die Zeilen aus, die Sie kommentieren möchten (up/down Pfeil oder j/k).
  3. eingeben :s/^/# / was übersetzt bedeutet: in Auswahl (:) Zeilenanfang ersetzen (^) mit `# '
20
reto

Marker:

Die folgenden Schritte werden im Befehlsmodus ausgeführt:

  1. gehe zur ersten Zeile und setze den Marker mit mt
  2. gehen Sie zu der Linie, bis zu der Sie Reichweite wollen
  3. geben Sie den Befehl :'t,.s/^/#/ ein.

Erläuterung

  • m#, Wobei # Einen Buchstaben bezeichnet, setzt eine Markierung an Ihrer aktuellen Position. Auf den Ort kann später mit '# Verweisen, wobei # Der gleiche Buchstabe wie zuvor ist. In unserem Fall haben wir den Buchstaben t Verwendet.
  • Der Befehl :'t,.s/^/#/ Lautet wie folgt:
    • : Das Präfix für komplexe Befehle
    • 't,. Definiert den Bereich, in dem der folgende Befehl angewendet werden soll. In unserem Fall ist es vom Marker 't Bis zur aktuellen Zeile ..
    • s/^/#/ Ist eine Substitutionsformel, die alle Zeilenanfänge ^ Durch das Literalzeichen # Ersetzt.
10
Chandra kant

Plugin

Es gibt ein Plugin , das eine effiziente Möglichkeit zum Kommentieren basierend auf dem verwendeten Dateisystem bietet.

In diesem Antwort wird auch erläutert, wie das NERD commenter für vim. Einige grundlegendere Anweisungen zur Verwendung des Plugins werden besprochen hier .

5
Ramesh

Verwenden Sie wie erwähnt entweder NERDCommenter, aber wenn mir das nicht zur Verfügung steht, verwende ich die visuellen Modi. Ich gehe in den Visual Line-Modus, treffe meine Auswahl, oft die Leerzeichen, also gehe ich V{ Wechseln Sie dann mit in den Visual Block-Modus Ctrl+Q und fügen Sie dann das Kommentarsymbol am Anfang der Zeilen mit ein IUm einen Textblock zu kommentieren, würde ich das tun

V{<C-Q>I#<Esc>
1
TankorSmash