gpt4 book ai didi

linux - 如何正确使用vim自动换行?

转载 作者:太空宇宙 更新时间:2023-11-04 09:15:08 35 4
gpt4 key购买 nike

我正在尝试使用 vim 的自动换行功能,在我输入时自动将我的段落实时换行,行数不超过 80 个字母。这可以通过 set textwidth=80set fo+=a 来完成。 vim formatoptionsfoa 选项基本上告诉 vim 在输入时将整个段落换行。

但是,有一个非常烦人的副作用,我不能再通过简单地按 enter 来换行。

This is a sample sentence.

对于上面这句话来说,如果我想把它变成:

This is

a sample sentence.

通常我可以将光标移动到“a”并进入插入模式,然后按回车键。但是在set fo+=a之后,当我在“a”处的插入模式下按回车键时,什么也不会发生。我注意到的一件事是,如果“is”和“a”之间没有空格,按回车键将插入一个空格。但此后不会发生任何其他事情。

那么我在这里错过了什么?我该如何阻止这种烦人的行为?

最佳答案

您可以运行 :help fo-table 来查看选项的解释:

a   Automatic formatting of paragraphs.  Every time text is inserted or
deleted the paragraph will be reformatted. See |auto-format|.
When the 'c' flag is present this only happens for recognized
comments.

这意味着每次你插入一个字符,vim 都会尝试自动格式化段落。这将导致它将所有内容移回同一行。

我认为您根本不需要添加a。我使用 neovim,但这里的行为应该是一样的。根据帮助页面,默认值是:

(default: "tcqj", Vi default: "vt")

尝试从 .vimrc 中完全删除 set fo+=a。保持 set textwidth=80。这应该可以解决您的问题。

编辑:设置 textwidth=80 后,如果要格式化现有段落,可以在视觉选择中突出显示它并按 gq.

关于linux - 如何正确使用vim自动换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48797511/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com