33

我正在尝试更新我的Vim配置脚本。我的目录中有许多子目录,~/.vim我不确定它们的具体功能,也不知道为什么有些子目录似乎是多余的。

这是我的~/.vim目录树的样子

 |-after
 |---ftplugin
 |---syntax
 |-autoload
 |-compiler
 |-doc
 |-ftplugin
 |---latex-suite
 |-----dictionaries
 |-----macros
 |-----packages
 |-----templates
 |---python
 |-indent
 |-plugin
 |-spell
 |-syntax

现在针对具体问题。

  1. pluginvs 里面有什么ftplugin
  2. plugin和 和有什么不一样autoload
  3. 我什么时候应该把东西放进去after/...而不是直接放在下面的目录中~/.vim
4

3 回答 3

38

每当vim启动时都会加载任何进入plugin的内容,而您输入的ftplugin内容仅加载它对应的特定文件类型(因此,如果您有一个名为python的文件夹,则打开python文件时将加载所有文件。在autoload你应该中定义的脚本对应的plugin函数。这里的函数只有在第一次调用时才会加载。

after您应该放置您想要从正常插件加载中更改的设置。举个例子,假设您喜欢一些乳胶插件为您提供的设置,但它重新定义了您在.vimrc. 您可以使用自动命令或将正确的定义放在后面来恢复它。

于 2013-01-09T23:57:16.813 回答
11

我认为这可以准确解释每个文件夹的作用: http: //learnvimscriptthehardway.stevelosh.com/chapters/42.html

也不妨检查一下:h runtimepath

希望这可以帮助。:)

于 2013-01-10T01:44:57.190 回答
9

所有这些目录都是runtimepath. 尝试一下:h runtimepath,它会将您链接到您的答案:

  1. 查看:h write-plugin
  2. 查看:h autoload-functions
  3. after/...脚本最后执行,因此它们可以覆盖早期脚本的设置。您可以在 中阅读有关此内容的更多信息:h runtimepath
于 2013-01-09T23:55:11.813 回答