Ich habe mich gefragt, ob es in Vim eine Tastenbelegung gibt, mit der ich bestimmte Codezeilen einrücken kann (ob diese Zeilen im visuellen Modus ausgewählt wurden oder n Zeilen über / unter der aktuellen Cursorposition).
Also im Grunde etwas, das Folgendes umwandelt
def my_fun(x, y):
return x + y
zu
#def my_fun(x, y):
# return x + y
Ich bin damit einverstanden, entweder #
oder """
zum Auskommentieren der relevanten Zeilen zu verwenden. Idealerweise möchte ich auch, dass das gleiche Keymapping die Zeilen auskommentiert, wenn die angegebenen Zeilen auskommentiert wurden.
Antworten:
Schritt 1: Gehen Sie zur ersten Spalte der ersten Zeile, die Sie kommentieren möchten.
Schritt 2: Drücken Sie: Ctrl+ vund wählen Sie die Zeilen aus, die Sie kommentieren möchten:
Schritt 3: Shift -
I
#space(Rufen Sie den Einfügemodus links auf und geben Sie die einzufügenden Zeichen ein. Die Auswahl wird ausgeblendet, aber alle darin enthaltenen Zeilen werden nach Schritt 4 geändert.)Schritt 4: Esc
quelle
Shift-I # <ESC>
hat nicht funktioniert (vielleicht mache ich es falsch).eine Möglichkeit manuell
quelle
:10,12s/^#//
Sie können Ihrer .vimrc die folgende Zuordnung hinzufügen
Markieren Sie Ihren Block mit:
#
um Ihre Zeilen aus der ersten Spalte zu kommentieren.-#
auf die gleiche Weise zu kommentieren.quelle
Markieren Sie Ihren Block mit: ShiftV
Kommentieren Sie den ausgewählten Block mit:
:norm i#
(Kleinbuchstabe i)Um den Kommentar zu entfernen, markieren Sie Ihren Block erneut und kommentieren Sie Folgendes aus:
:norm ^x
Der
:norm
Befehl führt für jede ausgewählte Zeile eine Aktion aus. Beim Kommentieren wird#
am Anfang jeder Zeile ein eingefügt, beim Kommentieren wird dies gelöscht#
.quelle
Shift+v
) und die anschließende Verwendung:norm i#
nur die erste ausgewählte Zeile. Dies funktioniert für mich, um die Zeilen 389 bis 391 zu kommentieren::389,391norm i #
Normalerweise fege ich einen visuellen Block (
<C-V>
) aus, suche und ersetze das erste Zeichen durch:(Wenn Sie den Befehlsmodus mit einem ausgewählten visuellen Block aufrufen, wird '<,'> automatisch in die Befehlszeile eingefügt.) Ich kann den Block dann auskommentieren, indem ich denselben visuellen Block auswische und:
quelle
Es gibt einige gute Plugins, die beim Kommentieren / Kommentieren von Zeilen helfen. Zum Beispiel Der NERD-Kommentator .
quelle
Ich habe die folgenden Zeilen in meinem
.vimrc
:Die Verknüpfungen behalten Ihre Cursorposition und Ihre Kommentare bei, solange sie beginnen
#
(nach # steht ein Leerzeichen). Beispielsweise:Nach dem Kommentieren:
Nach dem Auftakt:
quelle
s/^/#/
regulären Ausdruck verwenden. Ich bevorzuge, dass das Kommentarzeichen am Anfang der Zeile steht ... aber viel wichtiger ist, dass das Kommentieren von Kommentaren wirklich ziemlich wichtig ist. Ich würde auch das löschenau BufEnter *.py
, da#
Kommentare allgemein genug sind, damit die Befehle standardmäßig in allen Puffern verwendet werden.Ehrlich gesagt benutze ich ein Tcomment Plugin für diesen Link . Es kann fast jede Syntax verarbeiten. Es definiert nette Bewegungen und macht es mit einigen für Python spezifischen Textblock-Matchern zu einem leistungsstarken Werkzeug.
quelle
NERDcommenter ist ein hervorragendes Plugin zum Kommentieren, das automatisch eine Reihe von Dateitypen und die zugehörigen Kommentarzeichen erkennt. Lächerlich einfach mit Pathogen zu installieren .
Kommentar mit
<leader>cc
. Kommentar mit<leader>cu
. Und Kommentare umschalten mit<leader>c<space>
.(Der Standardschlüssel
<leader>
in vim ist\
)quelle
Es gibt viele Kommentar-Plugins für vim - von denen einige mehrsprachig sind - nicht nur Python. Wenn Sie einen Plugin-Manager wie Vundle verwenden , können Sie nach diesen suchen (sobald Sie Vundle installiert haben), indem Sie z.
Und Sie erhalten ein Fenster mit Ergebnissen. Alternativ können Sie auch vim-Skripte nach Kommentar-Plugins durchsuchen .
quelle
Keine Plugins oder Mappings erforderlich. Probieren Sie den integrierten Befehl "norm" aus, der buchstäblich alles ausführt, was Sie in jeder ausgewählten Zeile wollen.
Füge Kommentare hinzu
# Kommentare entfernen
Oder wenn Ihre Kommentare eingerückt sind, können Sie dies tun
:norm ^x
Beachten Sie, dass dies nur gewöhnliche vim-Befehle sind, denen ": norm" vorangestellt ist, um sie in jeder Zeile auszuführen.
Detailliertere Antwort für die Verwendung des Befehls "norm" in einer der Antworten hier
Was ist ein schneller Weg, um Zeilen in Vim zu kommentieren / zu kommentieren?
quelle
Ein sehr minimales, leichtes Plugin : vim-comment.
gcceine Zeile
gcgczu kommentieren, um zu kommentieren . Weitere Informationen finden Sie auf der Plugin-Seite.
v+k/jMarkieren Sie dann den Block, gccum diesen Block zu kommentieren.
quelle
CtrlK für einen Kommentar (visueller Modus):
CtrlU zum Kommentieren (visueller Modus):
quelle