创build一个Python特定的设置

在这个教程中,很多设置都被configuration好了,所以VimPython很好地Python 。 我想只使用Python文件的一些设置,因为我也将使用编辑器来编辑大量的SQL文件。

这是创buildPython特定设置的正确方法吗?

  1. 创build一个文件python.vim并find它在以下目录中:
    M:\vimfiles\after\ftplugin\

  2. 将以下内容添加到文件中:

  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

是的,你需要使用:setlocal ,否则你的设置将泄漏到从Python缓冲区打开的其他缓冲区。

colorcolumn

'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