我知道我们可以扩展Vim的功能来添加新功能或修改现有功能并增强我们的编辑体验。一个未知的领域:什么是Vim插件?编写插件的先决条件是什么,以便我可以在不久的将来编写自己的插件?

#1 楼

插件是扩展vim功能的一种方式。

Vim将插件分为“全局”插件(无条件加载和运行)和“文件类型”插件(仅针对特定文件类型加载和运行,请参阅)。 :help filetype)。如果您未更改运行时路径(手动或使用Pathogen或Vundle等插件),Vim会在特定位置查找插件:


在* nix和OS X上,默认值为~/.vim/plugin

在Windows上,默认值为$HOME/vimfiles/plugin


文件类型插件改用ftplugin,并且必须为其对应的文件类型命名(或在子目录中) (例如foo.vim文件类型的foo)。插件只是vim脚本,因此您可以像在.vimrc中一样使用它们来定义函数,映射和命令,尽管在编写插件时,通常,您想比仅用自己的.vimrc进行入侵时,可以更通用一些地编写vim脚本。如果您的vim是使用适当的选项编译的,则还可以使用其他语言(例如Python,Ruby或Lua)编写插件。

插件通常不只是位于相应目录中的单个.vim文件但是。它们通常还包括自动加载脚本(:help autoload),语法脚本(:help syntax)和缩进处理脚本。这些脚本中的所有代码打包在一起,提供了强大的钩子来增强vim。

Vim的内置帮助(:help plugin)包含各种其他详细信息。编写插件是一个相当广泛的话题,但是vim的内置帮助可能非常有用。此外,互联网上还有一些很棒的资源,例如:




学习Vimscript满足一般vim脚本需求的困难方法和

编写Vim用于插件的插件,特别是


使用插件(无论是您编写的插件还是从互联网下载的插件),只需将其放置在适当的目录(或多个目录,如果适用)中并启动vim即可。当然,某些插件可能具有更复杂的安装过程(例如流行的YouCompleteMe完成插件,它具有已编译的组件)。

如今,诸如Pathogen和Vundle之类的插件管理插件很受欢迎。手动安装插件文件的替代方法,尤其是因为插件通常随附多个文件(如上所述)。有关更多信息,请参见此问题。