内からシェル プログラムを実行することに関して、stackoverflow には多くの質問がありますvim
。逆に、つまり、
$ vim :BundleInstall
BundleInstallを手動で開いて実行するのではなく、シェル スクリプトの一部として実行できるようにするにはどうすればよいvim
ですか?
内からシェル プログラムを実行することに関して、stackoverflow には多くの質問がありますvim
。逆に、つまり、
$ vim :BundleInstall
BundleInstallを手動で開いて実行するのではなく、シェル スクリプトの一部として実行できるようにするにはどうすればよいvim
ですか?
構文が変更され、行が次のようになることに注意してください(@sheharyar に従って):
vim +PluginInstall +qall
後世のために、以前は正しい行は次のとおりでした。
vim +BundleInstall +qall
私以外の誰かが見ているはずです!注: これは、バンドルのGithub READMEにあります。
vimの man ページ( man vim
) によると:
-c {command} {command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: Vim "+set si" main.c Note: You can use up to 10 "+" or "-c" commands.
また:
--cmd {command} Like using "-c", but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from "-c" commands.
それは本当にあなたが何をしたいかによって異なります。また、vundleのreadme ファイルで説明されているように、次のように vim を起動すると:
vim +BundleInstall +qall
これにより、vim を開かずにすべてのバンドル オプションがインストールされます。明確にするために、vimのドキュメントから:
:qall This stands for "quit all". If any of the windows contain changes, Vim will not exit. The cursor will automatically be positioned in a window with changes. You can then either use ":write" to save the changes, or ":quit!" to throw them away.
もっと複雑なものはどうですか?
vim "+set ff=unix" "+wq" node_modules/less-monitor/bin/less-monitor
それが完全に正しいかどうかはわかりませんが、私にとってはうまくいきます。ありがとう @jvc26
より一般的な解決策を探している人のために、別の回答を追加します。
vim +command
1 つの Vim コマンドを実行するために機能しますが、シェルから複数の Vim コマンドを実行するために機能します。代わりに、Ex-mode で Vim を起動し、Here ドキュメントでコマンドを提供します。これは私が書いたスクリプトの例です。ファイル内のパターンを検索し、その前にテキストを挿入します。
ex --noplugin +1 "$v_file" <<-END
set maxmempattern=8000
/^\s*\<endmodule\>/i
FIXME \`ifdef XXX_INCLUDE_API
\`include "${api_file}"
\`endif
.
w
q
END
しますか
vim --cmd BundleInstall
あなたがしたいことをしますか?