0

次のコマンド (のようなもの) を実行する bash スクリプトがあります。

vim -E <<EOT
call Myfunc()
EOT

whereMyfunc()は私の .vimrc で定義されています。ヒアドキュメントを使用すると (ただし、単純に呼び出して-E手動でコマンドを入力するのではなく)、vim が .vimrc のロードをスキップし、その結果、互換モードが設定される (将来的に他の問題が発生する) ことがわかりました。

必要に応じて .vimrc を手動でロードできますが、それがどこにあるのかアプリオリにわからないと仮定しているので、vim に作業を任せたいと思います。

ヒアドキュメントを使用すると、vim に他のオプション (-u NORCなど) が設定されますか?

問題があれば、私は Vim 7.3 を使用しています。

4

1 に答える 1

0

Giving arguments to vim through a heredoc is equivalent to taking input from stdin:

vim -E -
call Myfunc()
qa!

This starts vim in silent mode (see :help -s-ex) and only loads plugins specified by the -u argument. To load all plugins, write the ex command to a file and use that file for input:

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

vim -E input.vim

(I added qa: to force vim to exit after running Myfunc().)

于 2012-05-10T04:23:06.567 に答える