我的vimrc
中有以下两行:
set textwidth=80
set formatoptions-=t
这允许我格式化我的源,以便使用gq
之类的命令在80个字符后面有换行符。这对我来说很好。
但是,在编辑某个降价源(.md文件)时,我注意到当我键入表单的无序列表元素时:
* My unordered list element
vim
会在80个字符后自动换行。
一个简单的解决方法是使用+
符号而不是星号,但我很好奇在这种情况下可能出现不同行为的原因。
答案 0 :(得分:3)
可能是由$VIMRUNTIME/ftplugin/markdown.vim
中的以下两行引起的:
setlocal formatoptions+=tcqln
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+
您可以查看
:verbose setlocal formatoptions?
要撤消效果,请将相应的:setlocal
命令放入~/.vim/after/ftplugin/markdown.vim
。
答案 1 :(得分:2)
尝试在没有任何插件或配置的情况下运行vim
vim -u NONE test.md
set textwidth=80
set formatoptions-=t
如果你这样做,那么文本将不会自动换行,这告诉我们它必须是插件或.vimrc
文件中的内容。
您可以使用:scriptnames
找出来源的插件。
我会禁用所有插件,然后逐个重新启用它们,直到问题重新出现。