Bashスクリプト内でvimマクロを実行する

Bashスクリプト内でvimマクロを実行する

Bashスクリプトでファイルを編集したいです。 vimでマクロを作成して保存し、bashスクリプトから呼び出す方法はありますか?

答え1

問題ありません。 vi コマンドを使用してマクロファイルを生成します。たとえば、

:1,$s/a/b/g
:wq

その後実行vi -s macro_file data_file

1つの提案:代わりにこの目的のためにsed/ awkandを試してください。vi

答え2

以下は、vimを使用してファイルのHTMLバージョンを作成する例です。

for f in *.c; do
    vim -f +"syn on" +"run! syntax/2html.vim" +"wq" +"q" "$f"
done

答え3

exvimに付属のコマンドラインツールであるvimを使用できます。

Eranの答えは間違いなく正確ですが、個人的には次のものを使用しますex -cvim -cまた可能です)。

> echo asdf > blub
> ex blub -c "normal a_" -c "normal l.l.l." -c wq
> cat blub
a_s_d_f_

複数のファイルがないので、これが私が好む方法です。

たとえば、escapeをjjに再マップすると、より複雑な一般的なステートメントを簡単に作成できます。

ex file -c "normal a_jjl.l.l." -c wq

あなたの情報のために:

  • ノーマル通常モードでメールを送信
  • ウェッカープログラム終了
  • -c オプションを追加せずに文字列に複数のコマンドを送信するには、パイプ文字 | を使用します。しかし、これは一般的な状況では機能しません。
  • これは10-cでのみ機能します。ただし、より多くのコマンドを表示するには、ファイルを作成することをお勧めします。

関連情報