:substitute
非常に単純なテキスト処理 (つまり、強化された 'sed' や 'awk' のように Vim を使用し、おそらくコマンド内の強化された正規表現の恩恵を受ける) には、 Ex-modeを使用します。
REM Windows
call vim -N -u NONE -n -es -S "commands.ex" "filespec"
注: サイレント バッチ モード-s-ex
は Windows コンソールを台無しにするためcls
、Vim の実行後にクリーンアップを行う必要がある場合があります。
# Unix
vim -T dumb --noplugin -n -es -S "commands.ex" "filespec"
注意: "commands.ex" ファイルが存在しない場合、Vim は入力待ちでハングアップします。その存在を事前に確認することをお勧めします!あるいは、Vim は stdin からコマンドを読み取ることができます。- 引数を使用すると、stdin から読み取ったテキストを新しいバッファに入力したり、stderr からコマンドを読み取ったりすることもできます。
複数のウィンドウを含むより高度な処理、および Vim の実際の自動化 (ユーザーとやり取りしたり、Vim を実行したままにしてユーザーに引き継がせる場合) には、次を使用します。
vim -N -u NONE -n -c "set nomore" -S "commands.vim" "filespec"
使用される引数の概要は次のとおりです。
-T dumb Avoids errors in case the terminal detection goes wrong.
-N -u NONE Do not load vimrc and plugins, alternatively:
--noplugin Do not load plugins.
-n No swapfile.
-es Ex mode + silent batch mode -s-ex
Attention: Must be given in that order!
-S ... Source script.
-c 'set nomore' Suppress the more-prompt when the screen is filled
with messages or output to avoid blocking.