我正在使用Vim8.0,并且对特定于语言的设置感到困惑。我想为缩进、折叠、要加载的附加插件等定义语言特定的规则。
我的目录结构如下:
~
└── .vim/
├── colors/
├── .git/
├── .gitignore
├── pack/
│ └── my_plugins/
│ └── start/
│ ├── fugitive/
│ └── syntastic/
└── vimrc我已经注意到,vim已经在/usr/share/vim/vim80/ftplugin/中预装了一系列特定设置,其中包含用于css、html、python等的.vim文件(总共有216个.vim文件)。我不完全理解这些文件的内容,但我不想用我自己的设置完全覆盖它们。相反,我想将我自己的设置“附加”到已经存在的设置中。(如果我的设置与现有的设置冲突,我想使用我的设置。),我将我的语言特定设置放在哪里?我问的原因是我看到了不同的方法:
~/.vim/indent和~/.vim/folding目录,它们都包含html.vim文件,但其中一个具有缩进设置,另一个用于折叠。~/.vim/ftplugin目录并在其中放置一个html.vim文件,其中包含代码折叠、缩进等规则。这些方法中哪一种是正确/更好的?
对于特定于语言的插件,我想使用Vim 8包功能。所以我想我把所有语言特定的插件都放进了~/.vim/pack/my_plugins/opt/,这样它们就不会在启动时加载。但是,当打开该类型的文件时,如何加载特定的插件呢?例如,对于编辑.html文件,我希望使用火花插件,但只在编辑.html文件时使用。如何在打开.html文件时加载此文件?
发布于 2020-02-11 14:33:48
在您的.vimrc中添加:
filetype plugin on以及在~/.vim/ftplugin/{language}.vim或~/.vim/ftplugin/{language}/otfer_files.vim中对特定语言的任何配置。
请阅读更多内容:
:help filetype发布于 2020-02-11 17:51:12
侧记:ftplugins已经懒散地加载了。我们不需要packadd。
对于实际的插件文件(在packadd目录中),以及在测试/使用冲突的文件类型特定的“插件”时,比如vim和其他用于vim的胶乳套件,甚至是同一“插件”的不同版本,plugin/都是有意义的。
https://stackoverflow.com/questions/60170986
复制相似问题