当我开始(g)vim时,如何将参数传递给vimrc?

我想影响当我启动 vim时我的 vimrc文件的执行方式并想到使用像这样的全局变量
if exists("g:UseEnv1")
   ....
else
   ....
endif

这样变量将在启动vim时设置

gvim -c "let g:UseEnv1=1" file-1 file-2

但是,这不起作用,因为在执行vimrc文件后评估-c ex命令.

我可以使用环境变量

if $UseEnv1 == 1
   ...
endif

但是我觉得这有点问题,以防我忘记在两个会话之间更改$UseEnv1的值.理想情况下,当我启动vim时,我想明确表示我想要Env 1.

还有其他可能吗?

–cmd命令行参数类似于-c,但它在任何其他初始化之前执行.您可以使用它来设置影响〜/ .vimrc的某些Vim变量.

替代品及其优点

如果您计划在命令行中实际键入这些配置(而不是将它们编码为shell别名或类似),那么使用环境变量实际上并不是那么糟糕:在大多数(Unix)shell中,您只能设置变量通过预先设置一个命令.而不是

$gvim --cmd "let g:UseEnv1=1" file-1 file-2

你可以写

$UseEnv1=1 gvim file-1 file-2

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...