通过heredoc给出exim命令时设置了什么选项?

时间:2012-05-08 00:20:04

标签: vim

我有一个bash脚本运行(类似于)以下命令:

vim -E <<EOT
call Myfunc()
EOT

我的.vimrc中定义了Myfunc()。我发现使用heredoc(但不是简单地用-E调用它并手动输入命令)会导致vim跳过加载我的.vimrc,从而设置兼容模式(导致其他问题)。

如果必须的话,我可以手动加载我的.vimrc,但我假设我不知道它在哪里,所以我想让vim完成这项工作。

使用heredoc使vim设置了一些其他选项(-u NORC,比方说),我可以解除它以获得正常行为吗?

我在Vim 7.3中,如果重要的话。

1 个答案:

答案 0 :(得分:0)

通过heredoc为vim提供参数等同于从stdin中获取输入:

vim -E -
call Myfunc()
qa!

这将以静默模式启动vim(请参阅:help -s-ex)并仅加载-u参数指定的插件。要加载所有插件,请将ex命令写入文件并使用该文件进行输入:

cat <<EOT > input.vim
call Myfunc()
qa!
EOT

vim -E input.vim

(我添加了qa:以强制vim在运行Myfunc()后退出。)