我是 Vim 新手。如何在 vim 中硬换行纯文本(插入实际的换行符),同时尊重单词边界,无需连接现有线路?
例如,鉴于此:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
- Nulla cursus accumsan faucibus.
- Donec dapibus dignissim ullamcorper.
Integer
nec
malesuada
diam.
我想要获得(textwidth = 30):
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
- Nulla cursus accumsan
faucibus.
- Donec dapibus dignissim
ullamcorper.
Integer
nec
malesuada
diam.
而不是这个(我可以用它得到gggqG
)
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
- Nulla cursus accumsan
faucibus.
- Donec dapibus dignissim
ullamcorper.
Integer nec malesuada diam.
另外,还有一点需要说明:当我创建一个全新的缓冲区时,我得到的换行行为(以 - 开头的行没有特别换行)与打开以 .txt 结尾的文件时不同。:set filetype?
是什么控制了这一点?我没有注意到或 的输出有任何差异:filetype
。
答案1
对于第一个问题,使用
:%normal gqq
这将gqq
在每一行单独执行。
我不知道第二个问题的答案,但这可能是由 .txt 后缀触发的自动命令的结果,该命令更改了'formatoptions'
或未'comments'
设置'filetype'
。您可以执行
:verbose set fo? com?
查看这些选项最后设置在哪里。一些 GNU/Linux 发行版将它们自己的 Vim 配置命令放在 /etc/vimrc 或 /usr/share/vim/vimrc 中。