![用户应该将自定义的 vim 函数放在哪里?](https://linux22.com/image/1515261/%E7%94%A8%E6%88%B7%E5%BA%94%E8%AF%A5%E5%B0%86%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%20vim%20%E5%87%BD%E6%95%B0%E6%94%BE%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
有些函数是特定于文件类型的,我想知道组织这些函数的最佳做法是什么。我应该将它们定义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
。
你可以看看我的一个例子个人点文件集合