我有一个bash脚本运行(类似于)以下命令:
vim -E <<EOT
call Myfunc()
EOT
我的.vimrc中定义了Myfunc()
。我发现使用heredoc(但不是简单地用-E
调用它并手动输入命令)会导致vim跳过加载我的.vimrc,从而设置兼容模式(导致其他问题)。
如果必须的话,我可以手动加载我的.vimrc,但我假设我不知道它在哪里,所以我想让vim完成这项工作。
使用heredoc使vim设置了一些其他选项(-u NORC
,比方说),我可以解除它以获得正常行为吗?
我在Vim 7.3中,如果重要的话。
答案 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()
后退出。)