Bashスクリプトでファイルを編集したいです。 vimでマクロを作成して保存し、bashスクリプトから呼び出す方法はありますか?
答え1
問題ありません。 vi コマンドを使用してマクロファイルを生成します。たとえば、
:1,$s/a/b/g
:wq
その後実行vi -s macro_file data_file
1つの提案:代わりにこの目的のためにsed
/ awk
andを試してください。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_
複数のファイルがないので、これが私が好む方法です。
たとえば、escapeをjjに再マップすると、より複雑な一般的なステートメントを簡単に作成できます。
ex file -c "normal a_jjl.l.l." -c wq
あなたの情報のために:
- ノーマル通常モードでメールを送信
- ウェッカープログラム終了
- -c オプションを追加せずに文字列に複数のコマンドを送信するには、パイプ文字 | を使用します。しかし、これは一般的な状況では機能しません。
- これは10-cでのみ機能します。ただし、より多くのコマンドを表示するには、ファイルを作成することをお勧めします。