我有一个自定义的.vimrc文件,我在很多不同的机器上使用它。
有些机器的功能不如其他机器,能够加载.vimrc文件的“精简”版本会更好。但是,我想维护一个.vimrc以避免碎片。
理想情况下,我想从命令行向我的.vimrc传递参数。如果选择“minimal”选项,.vimrc将跳过加载资源最密集的插件。
有谁知道最好/最干净的方法吗?
谢谢!
编辑:我所说的较慢的机器是通过SSH的Raspberry Pi。 Vim本身并不慢,虽然我有几个插件,包括NERDTree和Syntastic,需要花费大量时间来加载Pi的有限CPU。通过取出大多数用于“最小”配置的插件,我将加载时间从3.5秒减少到0.5秒。
答案 0 :(得分:11)
您可以在加载任何VIMRC之前使用--cmd
开关执行命令。
因此,在功能较弱的机器上,您可以将vim
替换为vim --cmd 'let weak=1'
,然后在$VIMRC
中,您可以说:
if exists('weak')
echo "poor machine"
endif
答案 1 :(得分:3)
看一下来源:
source /foo/bar/another_vimrc
你的'重'vimrc可以只提供基本的vimrc并添加你想要的东西。对于项目/机器特定的缩写,ctags等,这也非常方便。
答案 2 :(得分:2)
这不会保留单个vimrc文件,但为了其他有相同问题的人(如页面顶部所述):
$ vim -u ~/.vim-min.vim
请注意,这将禁止加载系统vimrc文件(如果有)和您的个人vimrc文件。
:help -u
:help startup
(参见第二篇参考文献的第3步。)
答案 3 :(得分:0)
从上面的优秀答案中,我得到了这个工作:
〜/ .vimrc:
if exists('FLAG') " 'FLAG' passed from ~/.bashrc 'vimm' alias
set textwidth=150 " (launches vim in expanded terminal window)
set lines=58
else
set textwidth=79
set lines=40
endif
〜/ .bashrc:
# Needed to combine following two lines for ~/.vimrc use:
# alias vimm='konsole --geometry 1900x1040+0+0 -e "bash -c \"vim\""; exit'
# vim --cmd 'let FLAG=1'
str="'let FLAG=1'"
alias vimm='konsole --geometry 1900x1040+0+0 -e "bash -c \"vim --cmd $str\""; exit'
现在,'vim'(正常使用)在正常大小的终端中启动Vim,而'vimm'在更大的终端中启动Vim(备用设置)。
'Konsole'是我在Arch Linux中使用的终端。