有些函数是特定于文件类型的,我想知道组织这些函数的最佳做法是什么。我应该将它们定义ftplugin
为脚本本地函数还是将所有内容都放入autoload
?
答案1
这取决于。
首先,务实。如果它只是一个简短的函数,并且只在本地使用,我会毫不犹豫地将它们直接放入我的~/.vimrc
或~/.vim/ftplugin/*.vim
脚本中。后者效率有些低下,因为该函数会针对每个打开的具有相同文件类型的文件重新定义。
你已经知道自动加载函数,当然,这是放置自定义函数的规范位置。教条主义者会坚持 (ft-)plugins 仅包含配置、映射、自定义命令和 ,:autocmd
并且所有函数都应放置在 中~/.vim/autoload/
。我建议将任何较长的函数(或相互调用的函数集)或任何您打算发布以供他人重用的内容放在 中。
~/.vim/autoload/ft/{filetype}.vim
对于文件类型插件,我采用了将此类函数放入、 或 的惯例~/.vim/autoload/ft/{filetype}/{submodule}.vim
。
答案2
这是个人偏好。我喜欢通过 vim 配置文件构建尽可能模块化的文件。我倾向于将相似的部分拆分开,并将它们放在与原始文件不同的文件中.vimrc
。
你可以看看我的一个例子个人点文件集合