Vim 病原体和新完全性,Supertab,Youcompleteme;如何启用禁用捆绑包?
我在启动时使用病原体加载插件 有时我使用Vim 病原体和新完全性,Supertab,Youcompleteme;如何启用禁用捆绑包?,vim,plugins,Vim,Plugins,我在启动时使用病原体加载插件 有时我使用neoplete插件,有时使用youcomplete插件,有时使用Supertab来完成单词,有时我根本不使用补全符。 如果这些插件都被加载到数据库中,它们就不能一起工作 这就是为什么我决定在vimrc的末尾创建一个小菜单,在那里我可以选择使用哪个补足符(我想使用的是我在vimrc中禁用的补足符)。我可以用快捷键启动它。 列表g:PATHO包含要在病原体中禁用的插件: 如果我选择使用Supertab-->从g:PATHO中删除Supertab,请保存g:P
neoplete
插件,有时使用youcomplete
插件,有时使用Supertab
来完成单词,有时我根本不使用补全符。如果这些插件都被加载到数据库中,它们就不能一起工作 这就是为什么我决定在vimrc的末尾创建一个小菜单,在那里我可以选择使用哪个补足符(我想使用的是我在vimrc中禁用的补足符)。我可以用快捷键启动它。
列表g:PATHO包含要在病原体中禁用的插件:
如果我选择使用Supertab-->从g:PATHO中删除Supertab,请保存g:PATHO并重新加载vimrc。
如果我选择使用Neocomplete-->从g:PATHO中删除Neocomplete,请保存g:PATHO并重新加载vimrc。
如果我选择使用Youcompleteme-->从g:PATHO中删除Youcompleteme,请保存g:PATHO并重新加载vimrc 这是我在我的vimrc开始时所拥有的
if !exists("g:PATHO")
let g:PATHO = ['YouCompleteMe','neocomplete.vim','supertab']
endif
let g:pathogen_disabled = g:PATHO
下面在my_vimrc中,我使用此命令将全局变量保存在我的viminfo文件中:
set viminfo+=!
(感谢Ingo Karkat)
g:PATHO在viminfo中写入,但当我重新加载vimrc时,未找到变量g:PATHO,因为在_vimrc的开头尚未读取viminfo。什么时候在vimrc中读取viminfo? 如何让病原体在vimrc启动时读取g:PATHO?
(希望我说清楚)你读过《帮助启动》吗
vimrc
和所有插件都获得源代码后,viminfo
文件在很晚的时候被读取,因此病原体将无法将您在vimrc
中硬编码的默认g:PATHO
与viminfo
中的默认
viminfo
文件在初始化过程的后期只读取一次,并且在会话的生命周期内不会再次读取。重新加载您的vimrc
将永远不会触发重新读取,病原体或任何其他插件都不会注意到您希望持续的更改
您可以尝试手动重新读取该文件,并在VimCenter
或某些其他事件上自动执行MDS,但g:u disabled
变量不会产生您想要的效果:它不会从运行时路径中删除插件,也不会“取消”它的源代码。您可以使用该选项的不同值重新加载vimrc
所有您想要的内容,结果总是一样的:没有
作为补充说明,三个插件中只有一个提供。这是一个明智的设计选择,如果它更普遍,将使插件囤积者的生活更加轻松。谢谢,我使用youcompleteme,因为它可能是最好的,但有时我只想在手动完成模式下使用completer。你不能用CompleteMe做这件事。它不断弹出。Neocomplete具有手动完成模式(tab键)。我使用supertab完成体育拼写检查(但不用于缓冲区完成,supertab没有模糊搜索)。你知道这三个插件吗?YCM是手工完成的。是的,我知道他们,我不使用他们或任何其他选择。过去有一些关于手动完成的讨论,但我没有看到一个人使用YCM手动完成。你自己试过吗?我曾经读到,Valloric不想将YCM调整为手动完成。这不是调用手动完成,只是为了禁用YCM,除了分段触发器。请看这里:我测试了它,但它没有手动触发。顺便说一句,谢谢你的回答。i.m.o.只剩下一种可能性,直接写入vimrc文件并重新启动vim.:)