Ich erstelle ein Nur-Text-Dokument (.txt) mit rechts- und linksbündigen Absätzen. Ich füge manuell Leerzeichen hinzu und brich Wörter bei Bedarf mit Bindestrichen, bis die Linien eine einheitliche Länge haben. So verwenden Sie ein Beispiel aus meinem Dokument:
Diese phantasmischen Kugeln haben einige seltsame Eigenschaften, einige ordentliche, einige interessant, und andere nur ein Hinweis auf faul Design. Sie sind fast alle verursacht durch den gleichen Designfehler: Das Spiel behandelt sie zu sehr wie normal Bälle.
wird am Ende so aussehen:
Diese phantasmischen Kugeln haben einige seltsame Eigenschaften, einige ordentlich, einige interessant und andere nur faulen Designs. Sie werden fast alle durch die verursacht Gleicher Designfehler: Das Spiel behandelt sie zu sehr wie regelmäßige Bälle.
Wie kann ich das machen?
Es ist in Ordnung, Leerzeichen hinzuzufügen (ohne Wörter über Zeilen zu setzen), aber ich muss die Zielbreite des Absatzes (in # Zeichen) steuern. Das obige Beispiel ist auf 53 Zeichen pro Zeile ausgerichtet, aber die Zeilenbreite in meinem tatsächlichen Dokument variiert von 60 bis 79.
Es wäre auch toll, wenn es einen Texteditor mit einer solchen Funktion gäbe.
Ich habe es schon versucht:
- OpenOffice und TeX : Sie verwenden nur die Formatierung, um die Darstellung des Texts zu ändern.
- Der Justify-Befehl von nano zählt nicht, weil dadurch die Linienbreite nicht einheitlich wird.
Ich habe die folgende Antwort akzeptiert, weil sie für mich am besten funktioniert hat . Ich fand, dass die emacs-Füllbefehle unter den Antworten am einfachsten zu verwenden sind, und ich schätze, dass sie sogar Einrückungen ohne Leerzeichen erkennen (für Dinge wie # und // Kommentare). Die anderen Antworten füllen jedoch alle ihre eigenen Nischen und ich empfehle anderen, diese Frage zu besuchen, um sie ebenfalls anzusehen.
quelle
Antworten:
Sie können dies in Emacs mit
fill-paragraph
oderfill-region
( Dokumente ausfüllen ) tun .Sie müssen ein numerisches Präfix-Argument übergeben. Die Standardfüllspalte ist 70.
Wählen Sie den zu füllenden Text aus
M-3 M-x fill-region
.Ich habe die Füllspalte für Ihren Beispieltext auf 53 gesetzt und Folgendes erhalten:
quelle
du brauchst
par
zB um es auf Ubuntu zu bekommen, mache:
zu rechtfertigen
text.txt
(bei einer Breite von 80 Zeichen), speichern innewtext.txt
:par in vim oder gvim verwenden:
Markieren Sie dann den zu formatierenden Text und verwenden Sie den
gq
Befehl.Weitere Informationen finden Sie unter
man par
quelle
par w80 j1
nicht seinpar 80j
. Edit: Oderpar jw80
fmt
ist die Old-School-LösungVon der Manpage:
und
quelle
fmt
verfügen nicht über mehrere dieser Optionen und können nicht vollständig gerechtfertigt werden.fmt
. Wie Dennis bereits sagte, enthält die Manpage auf meinem System keinen der von Ihnen erwähnten Texte und gibt keine Hinweise zur Rechtfertigung.Hier ist ein Perl-Skript mit dem Namen
paradj
, das eine vollständige Rechtfertigung und Silbentrennung ermöglicht.Im
diff
Folgenden sind einige Änderungen aufgeführt, die ich vorgenommen habe, um das Hinzufügen eines linken Rands zu unterstützen:Dieser Befehl:
Erzeugt eine Ausgabe, die Ihrem Beispiel sehr nahe kommt (die zusätzlichen Leerzeichen befinden sich an verschiedenen Stellen).
quelle
Ich benutze Nano.
Benennen Sie die Datei in einen kürzeren Namen um (8.3). Öffnen Sie in Nano, dann Alt- Jauf das gesamte Dokument zu rechtfertigen. Alt- um Ozu retten. Dann Alt- Xzum Verlassen. Benennen Sie die Datei dann wieder in den ursprünglichen Namen um.
Könnte umständlich klingen , aber es hat mich gerettet viel Zeit über das Handbuch zu tun Enter, Delete, um Enddie Spalten 90. Nano standardmäßig auf 72 zu begrenzen , ich kann damit leben.
quelle
Sie können es versuchen
reformat
.Sie können es unter Debian / Ubuntu installieren, indem Sie es ausführen
sudo apt-get install reformat
.Benutze es so:
Der ausgerichtete Text wird in die Standardausgabe geschrieben.
quelle