vim中python文件的默认自动换行符

时间:2012-11-04 16:59:30

标签: vim

当我在vim中编辑 python 文件时,formatoptions由于某种原因设置为tcq,因此会自动在代码中断开长行,这有时可能会破坏代码好。这与其他代码文件类型相反,例如 c java ,其中自动换行仅出现在注释中。我可以通过从t删除formatoptions来禁用此功能,但我想知道为什么 python 文件的默认行为设置为此?

同样在哪里为不同的文件类型设置formatoptions

1 个答案:

答案 0 :(得分:1)

使用:verbose set <option>查看其设置位置。

如果它在默认文件中:请勿触摸,只需在~/.vimrc中设置正确的值。

如果是在某些第三方脚本中:看看为什么设置这样,尝试所需的值,看它是否会破坏任何内容。

修改

我像摇滚一样愚蠢。你听到了吗? 哑。如。 A.摇滚。

tcq只是formatoptions的默认值。我想~/.vimrc是一种(非直观的)Vim说的方式。

默认的Python ftplugin不会将其设置为其他值,因此您必须自己执行此操作。以下是~/.vim/after/ftplugin/python.vim中的内容:

setlocal tabstop=4
setlocal shiftwidth=4
setlocal softtabstop=4
setlocal smartindent
setlocal formatoptions=croql
setlocal cinwords=if,elif,else,for,while,try,except,finally,def,class
setlocal omnifunc=pythoncomplete#Complete