読者です 読者をやめる 読者になる 読者になる

オートコマンドからコマンドライン引数まで

vim完全バイブルP170まで読みました。

autocmd

autocmdはイベントフックの為の仕組みで、主にどんな事ができるかわかりました。

  • 約30近くのイベントが存在する
  • イベントをグループ化できる
  • doautocmdでautocmdを自分でも実行できる
    • 例があるがシチュエーションが想像しづらかった。(ヘルプより引用)

Autocommand は「自動的」でなくとも実行できる。これはあなたが autocommand を変
更したときや、間違った autocommand が実行されたとき (つまりファイルパターンの
マッチングが間違っていたとき) に便利である。

  • autocmdを取り去る時はautocmd!
  • autocmdはネストしない
    • nestedフラグでネストさせる事は出来るが10段階まで

ネストというのは、autocmdで実行されてさらにイベントが発生した時のフックということか。

autocmdは奥が深そうなので、ひとまず深追いせず次に進みます。
TODOで違う機会を設けて深追いする。

コマンドライン引数

使う事がありそうな引数をメモ。

暗号化 -x
読取り専用(viewコマンドは同じ) -R
swpファイルを作らない -n
EXモードで起動 -e
↑+サイレントモード -es
スクリプトファイルを読み込み -s
vimrcを指定 -u
gvimrcを指定 -U
コンパチブル -C
非コンパチブル -N
diffモード -d

ヘルプに載っていた例だけど、こういうのを見ると便利だそうだなと思います。
vimバッチ処理という響きはいいかも。

複数のファイルに書かれた名前を変更するスクリプトファイルの例:
	置換コマンドと:wqコマンドを含んだファイル"subs.vi"を作る: >
		:%s/Jones/Smith/g
		:%s/Allen/Peter/g
		:wq
<
	変更したいファイルに対してVimを実行する: >

		foreach i ( *.let ) vim -s subs.vi $i

ようやく1/3くらい進んだかなぁ。
まだまだ残りは厚い。