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