创建Python特定设置

时间:2013-07-14 11:26:27

标签: windows vim

在此tutorial中配置了许多设置,因此VimPython配合得很好。我只想在Python文件中使用一些设置,因为我还将使用编辑器编辑大量的sql文件。

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

  1. 创建文件python.vim并在以下目录中找到它:
    M:\vimfiles\after\ftplugin\

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

  3.  setlocal tw=79
     setlocal colorcolumn=80
     setlocal highlight Colorcolumn ctermbg=233
    

    我需要使用setlocal还是set足够? setlocal highlight语法正确吗?

2 个答案:

答案 0 :(得分:3)

你大部分都是对的。 ~/.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'设置为窗口 -local,而非缓冲区 -local。 Filetype插件应该更改缓冲区设置(因为文件类型与缓冲区相关联,并且窗口可以在其生命周期中显示不同的缓冲区)。因此,当您在同一窗口中编辑Java文件时,可能会出现颜色列将持续存在的情况。您需要设置精心设计的autocmds以使其完全正常工作,但根据您的工作流程,您可能永远不会受此影响,或者只是不要打扰。

:setlocal highlight Colorcolumn ctermbg=233

突出显示是全球性的;你不能简单地加上setlocal前缀,这是行不通的!只需在:highlight或配色方案中使用~/.vimrc定义一次颜色,就足够了。更改每种文件类型的颜色将再次要求autocmds完全正常工作。

答案 1 :(得分:2)

我将特定于Python的设置存储在$HOME/.vim/ftplugin/python.vim中,因为我不会与$VIMRUNTIME/ftplugin/python.vim冲突。如果你想要推翻你的Vim发行版设置的ftplugins,那么$HOME/.vim/after/ftplugin/python.vim就是你想要的,因为它是后来读的。

setlocal将为特定缓冲区设置变量。这意味着如果您在同一会话中打开文件,它将不会继承这些设置。我建议使用setlocal