These docs are under active development and cover the v0.20 Kobicha security model.
On this page
reference 1 min read

fmt

fmt reflows paragraphs: it rejoins the lines of a paragraph and re-breaks them so each comes out close to a target width. Words move freely between lines to make the result fit.

fmt [options] [file...]
$ fmt -w 72 draft.txt

fmt works on paragraphs — runs of non-blank lines separated by blank lines — and treats word boundaries as places it may break. The result reads naturally. This is what distinguishes it from fold, which simply cuts every line at a fixed column without regard to words.

With no file, fmt reads standard input.

Setting the width

Option Effect
-w, --width=WIDTH Fill lines up to at most WIDTH columns. The default is 75.
-g, --goal=WIDTH Aim for WIDTH columns — the width fmt targets, while -w is the hard maximum. Defaults to about 93% of the maximum.

Controlling the reflow

Option Effect
-s, --split-only Only split lines that are too long; never join short lines together.
-u, --uniform-spacing Put exactly one space between words and two between sentences.
-c, --crown-margin Preserve the indentation of a paragraph's first two lines; indent the rest to match the second.
-t, --tagged-paragraph Like -c, but the first line must be indented differently from the second, or the two are treated as separate paragraphs.
-q, --quick Break lines faster, accepting a more ragged right edge.

Selecting which lines to format

Option Effect
-p, --prefix=PREFIX Reformat only lines that begin with PREFIX; reattach PREFIX afterwards. Useful for reflowing comment blocks in source code.
-m, --preserve-headers Detect and preserve mail-style header lines rather than reflowing them.
--tab-width=N Treat a tab as N columns when measuring line length. Tabs are kept in the output; this affects measurement only.

Exit status

Code Meaning
0 Success.
1 A file could not be read, or an option value was invalid.