繁体   English   中英

在.vim和.vimrc中组织文件类型设置的最佳方法?

[英]Best way to organize filetype settings in .vim and .vimrc?

我正在检查我的vim点文件,以整理它们。 我注意到,随着时间的流逝,我以各种不一致的方式添加了各种文件类型特定的设置。 假设我正在为Python定制:

  • au BufRead,BufNewFile *.py (do something) 我不喜欢这样,因为某些Python文件可能没有.py终止符。

  • au FileType python (do something) 这似乎是一个更好的选择,因为它不依赖于以.py结尾的文件。 缺点是Vim不了解某些文件类型。 我可以使Vim识别其他文件类型,但是我也有各种不一致的方法: .vim/filetype.vim文件, .vim/after/filetype.vim.vimrc各种set filetype命令。

  • 添加具有特定文件类型设置的.vim/ftplugin/python.vim文件。 我了解$VIMRUNTIME/ftplugin/python.vim可以覆盖我在此处所做的任何设置。 一个问题是我不确定它如何与.vim/filetype.vim.vim/after/filetype.vim交互。

  • 添加一个.vim/after/ftplugin/python.vim 我知道这是在$VIMRUNTIME/ftplugin/python.vim之后加载的,因此它可以从那里覆盖设置。 与以前的方法一样,我不确定它如何与filetype.vim文件交互。

因此,我至少有四种方法可以做到这一点,更不用说语法文件和特定于文件类型的插件了。 在我看来,这样做是为了把我的文件类型的特定设置的最佳途径after/ftplugin ,这样它们就不会被覆盖,并且filetypes.vimafter出于同样的原因。

但是,在继续之前,我想问一下是否有人对处理文件类型特定设置的最佳方法提出建议。

我将特定于Python的设置存储在$HOME/.vim/ftplugin/python.vim ,因为我没有与$VIMRUNTIME/ftplugin/python.vim发生冲突。

将这些设置保存在ftplugin文件中可使我的.vimrc保持美观和通用,并易于维护(在Vim使用了十多年后,它仍然很大)。

如果您想在Vim发行版中否决 ftplugin的内容,那么$HOME/.vim/after/ftplugin/python.vim是您想要的,因为afterafter将读取它。

同样, $HOME/.vim/filetype.vim将在$VIMRUNTIME/filetype.vim之前获取,而$HOME/.vim/after/filetype.vim将在$HOME/.vim/after/filetype.vim

调用:scriptnames会按照最初获得的顺序列出所有获得的脚本名称。

:help filetype提供了关于所有这些的非常全面的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM