分页: 1 / 1
vim 插件如何按需启用
发表于 : 2010-11-13 20:08
由 自由建客
vim 通常加载 /etc/vim/vimrc 或 ~/.vimrc ,我特别建了一个 ~/.vimide/vimrc ,vim -u ~/.vimide/vimrc 即可启用特别配置的 IDE 。
这是按需启用配置,因为我并不想每个 vim 都启用那一堆复杂的 IDE 配置,这样很好用。
安装了 vim-scripts 包,里面有很多插件,但默认一个都没有启用。
在 ~/.vim/plugin 中创建插件的链接即可启用,比如
cd ~/.vim/plugin
ln -s /usr/share/vim-scripts/plugin/minibufexpl.vim
但这样任何时候都启用了该插件。
问题,我如何只在启动我的 IDE 时启用该插件。
Re: vim 插件如何按需启用
发表于 : 2010-11-13 20:22
由 zkwlx
写个脚本,替换下VIM命令,如果启动IDE就ln,然后推出再自动删除连接,反正只是个符号连接,速度应该不会有影响

Re: vim 插件如何按需启用
发表于 : 2010-11-13 20:28
由 xhy
可以用autocmd,打开文件时执行自己定义的函数,判断是不是需要载入插件
Re: vim 插件如何按需启用
发表于 : 2010-11-13 20:51
由 zkwlx
晕,直接这样不就得了
代码: 全选
alias vim="vim --noplugin"
ide="vim"
Re: vim 插件如何按需启用
发表于 : 2010-11-13 21:23
由 lilydjwg
我的办法:
把不需要一直启用的插件放在其它的目录(如 ~/.vim/so),自定义个命令去 so 它们就可以了。
Re: vim 插件如何按需启用
发表于 : 2010-11-13 21:38
由 自由建客
竟然就是 source 这么简单

Re: vim 插件如何按需启用
发表于 : 2010-11-13 21:41
由 xhy
自由建客 写了:竟然就是 source 这么简单

so不能自动执行,不够方便
Re: vim 插件如何按需启用
发表于 : 2010-11-13 22:02
由 自由建客
还是不明白,楼上说的 au
其实我要的就是在 vimrc 中手动指定要加载的插件
Re: vim 插件如何按需启用
发表于 : 2010-11-13 22:48
由 lilydjwg
xhy 写了:自由建客 写了:竟然就是 source 这么简单

so不能自动执行,不够方便
自动执行就放 plugin 下好了。
或者在 vimrc 里根据 v:progname 判断该 so 哪些插件。
比如给 vim 弄个叫 vide 的链接,然后在 vimrc 里判断如果 v:progname 是 vide 就 so A B C 这样子好了。
这样比 alias 好,因为 alias 只能在交互式 shell 里用。像 .desktop 文件、运行程序对话框、指定使用编辑器时都不行。
Re: vim 插件如何按需启用
发表于 : 2010-11-13 22:52
由 eexpress
当然是au嘛。
Re: vim 插件如何按需启用
发表于 : 2010-11-13 22:58
由 xhy
lilydjwg 写了:xhy 写了:自由建客 写了:竟然就是 source 这么简单

so不能自动执行,不够方便
自动执行就放 plugin 下好了。
或者在 vimrc 里根据 v:progname 判断该 so 哪些插件。
比如给 vim 弄个叫 vide 的链接,然后在 vimrc 里判断如果 v:progname 是 vide 就 so A B C 这样子好了。
这样比 alias 好,因为 alias 只能在交互式 shell 里用。像 .desktop 文件、运行程序对话框、指定使用编辑器时都不行。
用au有个好处,可以指定是在什么时候执行,比如BufEnter,TabEnter,BufRead等等,
或者指定au根据文件类型,自动执行相应的脚本,不需要给vim弄个别的名字,
可以根据打开的文件类型,或者其它上下文判断要载入哪些插件。
Re: vim 插件如何按需启用
发表于 : 2010-11-13 23:28
由 lilydjwg
xhy 写了:
用au有个好处,可以指定是在什么时候执行,比如BufEnter,TabEnter,BufRead等等,
或者指定au根据文件类型,自动执行相应的脚本,不需要给vim弄个别的名字,
可以根据打开的文件类型,或者其它上下文判断要载入哪些插件。
Vim 有 WantIDE 事件?
另外,根据打开的文件类型执行的话,我习惯放到 ftplugin 下,方便管理。
Re: vim 插件如何按需启用
发表于 : 2010-11-14 0:04
由 自由建客
我启动 IDE 用的是专门的 vimrc 文件,不用在 vimrc 中判断是不是 IDE ,只要直接写在里面就行了。目前用的两个插件基本工作正常,就是 let Tlist_Auto_Open = 1 形同虚设,还得要 TlistOpen 。
代码: 全选
so /usr/share/vim-scripts/plugin/taglist.vim
let Tlist_WinWidth = 32
let Tlist_Exit_OnlyWindow = 1
let Tlist_Auto_Open = 1
TlistOpen
so /usr/share/vim-scripts/plugin/minibufexpl.vim
Re: vim 插件如何按需启用
发表于 : 2010-11-14 14:20
由 lilydjwg
自由建客 写了:我启动 IDE 用的是专门的 vimrc 文件,不用在 vimrc 中判断是不是 IDE ,只要直接写在里面就行了。目前用的两个插件基本工作正常,就是 let Tlist_Auto_Open = 1 形同虚设,还得要 TlistOpen 。
那是因为taglist是在Vim启动时才检查是否需要自动打开的。so 的时候,VimEnter 事件早已发生过了。