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 开头的行(其前可带有空白字符)进行格式化。在格式化过程中,会移除前缀及前面的空白字符,随后将其重新附加到每个格式化后的输出行上。此选项的一种用途是格式化特定类型的程序注释,同时保持代码不变。