1

在本教程中配置了许多设置,因此Vim可以很好地与Python. 我想仅在 Python 文件上使用一些设置,因为我还将使用编辑器来编辑大量 sql 文件。

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

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

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

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

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

4

2 回答 2

3

你基本上是对的。严格来说,只有在您想要overrule~/.vim/after/ftplugin/python.vim的默认文件中的设置才需要使用,但也可以将其他与 Python 相关的内容放在那里。如果它失控了,您可以将其拆分为例如或(请参阅 参考资料)。ftplugin/python.vim~/.vim/ftplugin/python_tools.vim.../python/mappings.vim:help ftplugin-name

设置本地

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

颜色栏

'colorcolumn'设置是window -local,而不是buffer -local。文件类型插件应该更改缓冲区设置(因为文件类型与缓冲区相关联,并且窗口可以在其生命周期内显示不同的缓冲区)。因此,当您在同一窗口中编辑 Java 文件时,颜色列可能会持续存在。您需要设置详细的自动命令以使其完全正常工作,但根据您的工作流程,您可能永远不会受到此影响,或者只是不打扰。

:setlocal highlight Colorcolumn ctermbg=233

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

于 2013-07-14T12:45:18.633 回答
2

我将我的 Python 特定设置存储在 中$HOME/.vim/ftplugin/python.vim,因为我没有做任何与$VIMRUNTIME/ftplugin/python.vim. 如果你想否决你的 Vim 发行版的 ftplugins 设置,那么$HOME/.vim/after/ftplugin/python.vim这就是你想要的,因为它会在之后阅读。

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

于 2013-07-14T11:29:28.587 回答