Frage an vi-junkies

Post Reply
Message
Author
Rossi

Frage an vi-junkies

#1 Post by Rossi »

Wie kann ich mittels (n)vi in einem offenem Textdokument Zeilen auskommentieren ?
Ich möchte z.B., das bei allen folgenden 14 Zeilen vom aktuellen Cursor an ein "#" an den Zeilenanfang geschrieben (oder wieder gelöscht, so vorhaden) wird.
Größere Teile per Hand auskommentieren wird nervig.

ratte

Re: Frage an vi-junkies

#2 Post by ratte »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">:s/^/#/g 14</font><hr></pre></blockquote> substitute beginning of line by '#' in the current line and 13 following lines.

(man vim, :help range)

ratte

ratte

Re: Frage an vi-junkies

#3 Post by ratte »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">:s/^#//g 14</font><hr></pre></blockquote>

delete heading '#'s in the current line and 13 following lines.

(man vim, :help range)

ratte

Mr. Smith

Re: Frage an vi-junkies

#4 Post by Mr. Smith »

z.b. fügst du von zeile 20 bis 30 ein kommentarzeichen ein im command mode:

20,30 s/^/#/

ratte

Re: Frage an vi-junkies

#5 Post by ratte »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">:set ruler</font><hr></pre></blockquote>, damit du auch sehen kannst, wo sich Zeile 20 bis 30 befinden.

(:help set)

ratte

Rossi

Re: Frage an vi-junkies

#6 Post by Rossi »

Danke - aber meiner Meinung nach war "substitue" ersetzen. Ich will aber nicht ersetzen, sondern einfügen. Sonst darf ich die ersten Buchstaben wieder Nachtippen - außer die Zeile beginnt mit einem " ".

Rossi

Re: Frage an vi-junkies

#7 Post by Rossi »

Ich hab nichts gesagt ....

Jochen

Re: Frage an vi-junkies

#8 Post by Jochen »

Das mit dem "g 14" war mir neu, aber ältere vi's dürften damit Schwierigkeiten haben. Was <i>jeder</i> vi kann, wäre relative Adressierung:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
:.,+14s/^/#/
</font><hr></pre></blockquote>
Punkt steht für die aktuelle Zeile, +14 für die folgenden 14 Zeilen, und der Rest ist halt substitute wie oben.

Jochen

Re: Frage an vi-junkies

#9 Post by Jochen »

Einen hab ich noch:

Wenn man die Zeilen nicht abzählen will, kann man auch mittels "ma" in der letzten auszukommentierenden Zeile die Marke "a" setzen, dann in die erste auszukommentierende Zeile gehen und ein <blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
:.,'as/^/#/
</font><hr></pre></blockquote>
absetzen, also mit der Adressierung "Von dieser Zeile bis zur Marke a".

Jochen

Post Reply