Markdown中的Vim自动换行

时间:2014-08-13 15:57:42

标签: vim markdown

我的vimrc中有以下两行:

set textwidth=80
set formatoptions-=t

这允许我格式化我的源,以便使用gq之类的命令在80个字符后面有换行符。这对我来说很好。

但是,在编辑某个降价源(.md文件)时,我注意到当我键入表单的无序列表元素时:

* My unordered list element

vim会在80个字符后自动换行。

一个简单的解决方法是使用+符号而不是星号,但我很好奇在这种情况下可能出现不同行为的原因。

2 个答案:

答案 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找出来源的插件。

我会禁用所有插件,然后逐个重新启用它们,直到问题重新出现。