
bash スクリプトでファイルを編集したいのですが、vim でマクロを記述し、それを保存して、bash スクリプトで呼び出す方法はありますか?
答え1
問題ありません。vi コマンドを使用してマクロ ファイルを作成します。例:
:1,$s/a/b/g
:wq
そして実行するvi -s macro_file data_file
アドバイス:この目的のためには、sed
/awk
と の代わりにを使ってみてください。vi
答え2
これは、 vim を使用してファイルの HTML バージョンを作成する例です。
for f in *.c; do
vim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" "$f"
done
答え3
ex
vim に付属しており、vim のコマンドライン ツールである を使用することもできます。
Eran さんの答えは間違いなく正しいですが、私は個人的にはex -c
(vim -c
も可能です ) を使用します。
> echo asdf > blub
> ex blub -c "normal a_" -c "normal l.l.l." -c wq
> cat blub
a_s_d_f_
複数のファイルが存在しないため、これが私の推奨する方法です。
たとえば、エスケープを jj に再マップすると、より複雑な通常のステートメントを簡単に作成できます。
ex file -c "normal a_jjl.l.l." -c wq
ご参考までに:
- 普通通常モードで手紙を送る
- ワクプログラムを終了する
- 複数のコマンドを 1 つの文字列で送信するには (追加の -c オプションなし)、パイプ文字 | を使用します。ただし、これは通常の場合には機能しません。
- これは 10 個の -c に対してのみ機能します。ただし、より多くのコマンドの場合は、ファイルを作成することをお勧めします。