在这个教程中,很多设置都被configuration好了,所以Vim
和Python
很好地Python
。 我想只使用Python文件的一些设置,因为我也将使用编辑器来编辑大量的SQL文件。
这是创buildPython特定设置的正确方法吗?
创build一个文件python.vim
并find它在以下目录中:
M:\vimfiles\after\ftplugin\
将以下内容添加到文件中:
setlocal tw=79 setlocal colorcolumn=80 setlocal highlight Colorcolumn ctermbg=233
我需要使用setlocal
还是会set
足够? 是否setlocal highlight
正确的语法?
你大多是正确的。 使用~/.vim/after/ftplugin/python.vim
严格来说只需要使用默认的ftplugin/python.vim
文件来进行设置,但是也可以将其他Python相关的东西放在那里。 如果它失控了,你可以将它们分成~/.vim/ftplugin/python_tools.vim
或.../python/mappings.vim
(见:help ftplugin-name
)。
是的,你需要使用:setlocal
,否则你的设置将泄漏到从Python缓冲区打开的其他缓冲区。
'colorcolumn'
设置是window -local,而不是buffer -local。 文件类型插件应该改变缓冲区设置(因为文件类型与缓冲区相关联,并且窗口可以在其生命周期中显示不同的缓冲区)。 因此,当您在同一个窗口中编辑Java文件时,颜色列可能会持续存在。 你需要设置精心设计的autocmds来完成这个工作,但是根据你的工作流程,你可能永远不会受到这个影响,或者只是不打扰。
:setlocal highlight Colorcolumn ctermbg=233
突出显示是全球性的; 你不能简单地前缀setlocal
,这是行不通的! 只需要在~/.vimrc
或者颜色方案中:highlight
一次就可以了。 更改每个文件类型的颜色将再次要求autocmds完全工作。
我将我的Python特有的设置存储在$HOME/.vim/ftplugin/python.vim
,因为我没有做任何与$VIMRUNTIME/ftplugin/python.vim
冲突的$VIMRUNTIME/ftplugin/python.vim
。 如果你想否定设置你的Vim发行版的ftplugins,那么$HOME/.vim/after/ftplugin/python.vim
是你想要的,因为它是$HOME/.vim/after/ftplugin/python.vim
读取的。
setlocal
将为特定的缓冲区设置一个变量。 这意味着如果你打开一个c文件,在同一个会话中,它不会继承这些设置。 我会建议使用setlocal
。