2005/10/13

思い出した!

すっかり忘れていた事を突然思い出したのでメモっとこ。
vi で複数ファイルを開いている時の話。

次のファイルをバッファに呼びたい場合は?

:n

ファイルの一覧を見たい場合は?

:ar

一番始めのファイルをバッファに呼びたい場合は?

:rew

一つ前のファイルをバッファに呼び出す場合は?
。。。これが思い出せなかった。
サブシステム毎に別れているログを渡り歩いていて突然思い出した。
答えは、

:e#

であった。

複数の SQL スクリプトをガサっと開いてワサワサと編集しているのを、
後ろで見ていた新人くんが褒めてくれた。見てねーで覚えろと軽く突っ込む。
正規表現でヒットした文字列をバッファ内全変換しているだけで、
vi 使いにしてみれば至極当り前の使い方だったりする作業なんだが、
端から見ていると何だか凄いらしい。

vi とっかかりの頃は流石に意識的に覚えようとしたが、
基本操作が出来るようになるとそうそうリファレンスを開く事も無くなった。
そのようなやり方だと良く使う機能しかコマンドを覚えない。
(今 emacs がそんな感じになりつつある)
そろそろ自分の持つ vi の知識を拡げても良い頃かも。
褒められて調子に乗っているわけでは決して無い。無いよな?>オレ

2 Comments:

Blogger sempreff said...

vi 知らない奴が多くて困る世の中だねぇ。

:%s/regexp/somethingnew/g

は当り前として、

:g/regexp1/s/regexp2/somethingnew/g

は読めるかい?

木曜日, 10月 13, 2005 10:03:00 午後  
Blogger kazufuruk said...

sempreff> :g/regexp1/s/regexp2/somethingnew/g
sempreff> は読めるかい?

「バッファ全体の regexp1 にヒットした行について regexp2 にヒットした文字列全てを somethingnew に置換する」

ですね。いやぁー手放せませんな、オライリーの vi リファレンスわ(爆)。

金曜日, 10月 14, 2005 2:05:00 午前  

コメントを投稿

<< Home