fmt命令用法#
fmt负责填充并连接文本行,生成长度不超过指定字符数(默认为 75)的输出行。
$ cat push.sh
#!/bin/bash
TIMESTAMP=$(date +%s)
rm -rf resources/ public/ .hugo_build.lock
git add .
git commit -m "update: ${TIMESTAMP}"
git push
sleep 3s
echo "Done! Commit${TIMESTAMP}"
sleep 3s
$ fmt push.sh
rm -rf resources/ public/
git commit -m "update: ${TIMESTAMP}"
sleep 3sne! Commit${TIMESTAMP}"fmt常用选项如下:
-c
--crown-margin
悬挂缩进(crown margin)模式:保留段落中前两行的缩进,并将后续每一行的左边界与第二行的左边界对齐。
-t
--tagged-paragraph
标记段落(tagged paragraph)模式:类似于悬挂缩进模式,但如果段落第一行的缩进与第二行相同,则将第一行视为单行段落。
-s
--split-only
仅拆分行。不合并短行以形成长行。这可以防止代码示例及其他此类“已格式化”文本被不适当地合并。
-u
--uniform-spacing
统一间距。将单词间的间距缩减为一个空格,句子间的间距缩减为两个空格。
-width
-w width
--width=width
将输出行填充至 width 个字符的宽度(默认值为 75,或者若提供了 goal 参数,则为 goal 加上 10)。
-g goal
--goal=goal
fmt 最初尝试使行宽达到 goal 个字符。默认情况下,该值比 width 小 7%。
-p prefix
--prefix=prefix
仅对以 prefix 开头的行(其前可带有空白字符)进行格式化。在格式化过程中,会移除前缀及前面的空白字符,随后将其重新附加到每个格式化后的输出行上。此选项的一种用途是格式化特定类型的程序注释,同时保持代码不变。