やっぱりviでないと(はかど)らない

投稿日:

 20年前から10年前にかけて、システム管理の仕事をしていた。はじめ、私の役目はサーバとエンジニアリングワークステーション数十台からなるシステムの、商用UNIXのrootであった。UNIXはNECが出していた「UX/4800」で、SVR4.2の標準に準拠していた。サーバはUP4800、エンジニアリングワークステーションはEWS4800という製品だった。

 職場のサーバやエンジニアリングワークステーションなので、勝手に環境を変更することは許されず、いきおい、エディタなどは標準で入っている「vi」以外に選択肢がなかった。

 その後、その職場ではLinuxサーバが増えたのだが、GUIが重くて面倒臭いので、Xをインストールせず、管理作業等はコンソール画面で、エディタは相変わらずviのみを使っていた。

 それら数十台のLinux/UNIXマシンを相手に、10年の間、地味な管理作業に(いそ)しんだ。

 その頃からの習い(さが)で、今でも「ああ、これ、vi使ったほうが早いのになあ……」などと思うことがどうしても多く、職場のPCにviが入っていなかったりするとイライラする。しかし、今の職場のPCは私が管理しているものではないので、どうにも仕方がない。

 しかし、自宅は別で、何を放り込もうが私の勝手である。だから、躊躇なくviをインストールする。viを使うと、ちょっとしたことでも迅速・快適に作業ができるからだ。

 先ほども、ネットで拾った複数行の文字列を、行ごとに「<tr><td>文字列a</td><td>文字列b</td></tr>……」というふうにテーブルに成型する必要があったのだが、このようなことはそこいらの変なエディタを使うより、viのほうがよっぽど早くできる。

 ネットで拾った文字列は次の通りだ。愛用のタブレット、T101HA-G128のBIOSセットアップのパスワードをリセットするためのレスキューパスワードの羅列だ。

2011-11-23 A1AAABBA
2011-11-24 AL11LAAA
2011-11-25 ADH0AHBB
2011-11-26 AAAAB1BL
2011-11-27 A9BOCAAD
・ ・ ・

 これを、先に述べたように<table>タグで囲めるよう、<td>タグ等で成型するわけである。

 こんなこと、viでやればほんの数秒だ。普段から手になじんでいれば、人によっては「3秒」で終了させられる。

 それには、次の数個のコマンドを投入するだけでよい。

:1,$s/^/<tr><td>/
:1,$s! !</td><td>!
:1,$s!$!</td></tr>!

 たったこれだけで、全部の行が一瞬で次のようなHTMLに生まれ変わる。

<tr><td>2011-11-23</td><td>A1AAABBA</td></tr>
<tr><td>2011-11-24</td><td>AL11LAAA</td></tr>
<tr><td>2011-11-25</td><td>ADH0AHBB</td></tr>
<tr><td>2011-11-26</td><td>AAAAB1BL</td></tr>
<tr><td>2011-11-27</td><td>A9BOCAAD</td></tr>
<tr><td>2011-11-28</td><td>A0B0ADBD</td></tr>
・ ・ ・

 あとは前後に<table>~</table>タグを入れ、スタイルをちょっと書くだけだ。

 ことほど左様に、viはいい。

 ……なのだが、「viは作業が早く済む、生産性が極めて高くなるから職場のエディタはこれで統一すべきだ」なんてことを言うと、あらゆる人から排撃され、揉めなくてよいところで揉めることになるので、便利でいいものだと思っても、人に(すす)めたりしないよう黙っているしかない。