vimの自動実行
[PC][雑記]
えっとぉ〜…色々あったり他のことに夢中だったりで、ものすごく放置してたんだけど何となく気まぐれで更新してみます。
当時は はてな記法(?)なんかも覚えてた(と思う)んだけど今はさっぱり(汗
なのでシンプルにテキストだけ。
仕事でテキストを出力(例えばCSVとか)するプログラムを使ってて、その結果を使いやすいように加工することが結構頻繁にあるんです。
…で、大体いつもやる操作なんかもあったりして、何回か同じ操作をしてたら次第に面倒になってきちゃって自動でできないかなー、なんて。
もちろんテキストを出力してるプログラム自体をいじっちゃって出力を変える、なんてこともOKなんだけど他の人も使うツールだったりするので何だかなー、な訳なんです。
まぁそんな感じの前置きはさておいちゃって、手順とか書いてみます。
普段からvim使ってる人は知ってる人も多いんじゃないかなー。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1.vimでやりたい操作手順をテキストに保存しておきます。
これはキー入力をそのまま書くだけです。
ここでは例として内容を単純に置換して保存(test.out)する手順にしてみます。
ファイル名は何でも良いです。とりあえず auto.vim とでもしておきます。
---以下 auto.vim の内容----
%s/これを/これに/g
:w test.out
:q!
2.操作手順を書いたら vimにコマンドを渡して起動します。
今回は test.log というファイルに対して自動実行してみます。
vim -c ":source auto.vim" test.log
上のを実行すると test.log に対して 置換処理が行われて、その結果を test.out に出力した後vimを終了します。
これをバッチなんかに組み込んでおくと自動で簡単なテキスト処理ができて便利です。
あ〜い。以上で説明おしま〜い。
あ。読んでて気づいた人もいると思うけど、この自動実行で使ってる :source はセッションを復元する時にも使うコマンドです。
自動実行の方法を探してる時、コマンド文字列に複数のコマンドを書けないか試してたんだけど上手くいかなくて(書き方が悪かったのかも?)、何となくセッションのファイルの中身を覗いたらピンと来たんですよぅ。
なので自動実行の他にも、終了時にセッションを特定の場所・名前で保存しておいて(:mksession)起動する時のコマンドに渡してあげれば前回の作業状態の復元に便利なのです〜。
#Win機ならショートカットのパラメータに指定しとくとかね。