为什么 Vim 正在组装短线,而它应该只是打断长线?

Why Vim is assembling short lines when it should just break the long ones?

我正在尝试使用 Vim 编辑文件。但是,我才刚刚开始使用这个编辑器。

这是我愿意修复的文本(它是葡萄牙语,但这个事实与我的怀疑无关):

--- 
ENUM Questão 1

AREA ETHICS

Janaína é procuradora do município de Oceanópolis e atua, fora da carga horária demandada pela função, como advogada na sociedade de advogados Alfa, especializada em Direito Tributário. A profissional já foi professora na universidade estadual Beta, situada na localidade, tendo deixado o magistério há um ano, quando tomou posse como procuradora municipal.

如您所见,以 "Janaina é..." 开头的短语太大了。我正在尝试让所有内容都有 80 列。

因此,我做了:

:set textwidth=80  

并且,在选中所有 txt 的可视模式下,我做了:

gq

这是最终输出:

--- ENUM Questão 1

AREA ETHICS

Janaína é procuradora do município de Oceanópolis e atua, fora da carga horária
demandada pela função, como advogada na sociedade de advogados Alfa,
especializada em Direito Tributário. A profissional já foi professora na
universidade estadual Beta, situada na localidade, tendo deixado o magistério há
um ano, quando tomou posse como procuradora municipal.

最后的结果和我想要的很接近。唯一的问题是

的变化
--- 
ENUM Questão 1

--- ENUM Questão 1

我认为 :set textwidth=80:set columns=80 是对 break 行发出的命令,它们太长了。但是,出于某种原因,这个命令是组装带有---的短线和带有ENUM Questão [num]

的线

为什么会这样? 我该如何解决?

谢谢。

gq 可以做很多事情,这取决于 formatexprformatprg 或最有可能的 formatoptions 设置。参见 :h gq

我会使用以下正则表达式:

:%s/.\{80}/&\r/g

*注:vim中还有textwrap,可能对你有帮助(:set wrap)