VIM中自动换行长行

19
当我在Vim中编辑Haskell文件时,如果注释超过80个字符,我的编辑器会自动将其换到下一行。我想让Vim在Python文件(和文本文件)中使用相同的行为,但我无法在~/.vim/syntax文件夹或vimrc中找到设置此项的位置。
以下是我.vimrc文件的相关行:
set wrap
set textwidth=80
3个回答

13

设置 textwidth 将会限制你的最大行长度。当达到该字符点时,会自动换行(尽管空格可能会影响准确的80个字符宽度)。这会影响文件的实际格式。

wrap 是用于拆分/换行的正确命令。

请确保你的 .vimrc 文件在你的主目录下。


这个stackoverflow上的问题讨论了一些Python包装的内容,链接为https://dev59.com/-HM_5IYBdhLWcg3wlEPO - wilbbe01
1
谢谢 - 我认为将“c”添加到我的formatoptions有助于解决问题。 - Kevin Burke

5
我在我的vimrc中使用以下脚本来自动换行.txt文件。这可能会给你一些提示。
if has('autocmd')
  au BufRead,BufNewFile *.txt set wm=2 tw=80
endif

如果 textwidth != 0,则忽略 wordmargin - wting

2

如果在插入模式开始时,一行已经超过了textwidth的长度,则即使向该行添加文本,也可能不会将该行换行。如果formatoptions包含“l”,则添加文本时不会将长行换行。如果需要,可以像这样删除“l”:

:set fo-=l

您可以通过以下方式检查您的formatoptions值:
:set fo?

您可以通过此处或以下方式了解这些字母的含义:

:he fo-table

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接