VIM TextWidth einstellen

Software besorgen und anwenden
Post Reply
Message
Author
bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

VIM TextWidth einstellen

#1 Post by bakunin »

Hi!

Ich kann in VIM zwar einstellen, dass beim Tippen bei einer bestimmten Spalte der Text umgebrochen wird (":set tw=70"), doch wenn man dann in einer Zeile ein Wort einfügen will, ist diese Formatierung ja erstmal dahin. Gibt es eine Möglichkeit, einen Absatz oder Bereich entsprechend zo formatieren? Also so, als ob man alle Zeilen darin wie mit "J" zusammenhängen würde und wie mit dem Unix-Kommando "fold -sw 70" Zeilenumbrüche erzeugen kann? Ohne diese Möglichkeit ist :set tw=70 mehr oder weniger nutzlos. So eine Aufgabe _schreit_ doch geradezu danach, automatisiert zu werden.

Cheers,
GNU/Wolfgang

Jochen

Re: VIM TextWidth einstellen

#2 Post by Jochen »

Wenn Du Dich daran hältst, Absätze (paragraphs) durch eine Leerzeile zu trennen, ist es ganz einfach:

Gehe in den Absatz, der umformatiert werden muss, und tippe
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
{!}fold -sw 70
</font><hr></pre></blockquote>
Mittels "{" springst Du an den Anfang des Absatzes. Das Ausrufezeichen besagt, dass der vim jetzt alle Zeilen, die das nächste Move-Command umschliesst, an ein externes Kommando weiterleiten soll. "}" steht für "einen Absatz weiter", also den betreffenden Absatz von Anfang bis Ende. Der Text wird in fold hineingepipet und dessen stdout anstelle des Originaltextes eingesetzt. Voilà!

Und jetzt das ganze nur noch auf eine Taste mappen... Aber das weisst Du ja, wie das geht! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Jochen

Jens

Re: VIM TextWidth einstellen

#3 Post by Jens »

Hi wieso externes Programm wenn vim

gqq

besitzt. leider muss man die vorher alle mit J zusammenfügen. gibt es irgendein join Befehl mit
dem man ganze Absätze zusammenfügen kann ich habe weder lust zu Maus zu greifen und zu
markieren oder die Zeilen zu zählen.

:wq

Jochen

Re: VIM TextWidth einstellen

#4 Post by Jochen »

Ah! Wusste doch, dass der vim so was eigentlich auch eingebaut haben muss... Wenn man jetzt Deine und meine Lösung kombiniert, ist man am Ziel! Der vim hat nämlich eigentlich nicht "gqq", sondern "gq<i>Motion</i>", wobei das Verdoppeln des Kommandos (hier das q) das Kommando auf die aktuelle Zeile wirken lässt. Wenn man statt dessen wie oben mit { und } arbeitet, muss man auch keine Zeilen mehr zählen: Einfach in den Absatz setzen und dann

{gq}

tippen bzw. in der .vimrc die 4 Zeichen auf 'ne Taste mappen. Erledigt!

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: VIM TextWidth einstellen

#5 Post by bakunin »

Hi Jens und Jochen!

Ihr seid echt klasse! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Danke, danke, danke.

Cheers,
GNU/Wolfgang (dessen VIM-Produktivität soeben inkrementiert wurde)

Post Reply