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