やっぱり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は私が管理しているものではないので、どうにも仕方がない。

 しかし、自宅は別で、何を放り込もうが私の勝手であり、ちょっとしたことでも迅速・快適に作業ができる。

 先ほども、ネットで拾った複数行の文字列を、行ごとに「<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は作業が早く済む、生産性が極めて高くなるから職場のエディタはこれで統一すべきだ」などと言うことを言うと、あらゆる人から排撃され、揉めなくてよいところで揉めることになるので、便利でいいものだと思っても、人に(すす)めたりしないよう黙っているしかない。

新しいPCのセットアップ

 流感(インフルエンザ)の熱は下がったものの、油断は禁物であり、まだまだ横臥したままである。

 そのような中ではあるが、自宅に宅配便で届いたPCのセットアップをする。

 「嗜み、嗜み」などとつぶやきつつBIOSをデフォルトに書き戻したら、今まで見たことも聞いたこともない「Windows Bitlocker」などという画面が出て、ひょっとしてウィルスにでもやられたか!?とめちゃめちゃ焦り、そうでないことはネットで検索したらすぐわかったものの、なんだかものすごく長大な解除キーを入力しなければならないことがわかり、参ってしまう。ASUSのタブレットは、以前はしょっちゅうタッチパネルが動かなくなり、そのたびにBIOSをデフォルトに書き戻さないと回復しなかった。今度の機種も同じだとすると、こりゃ相当シビれてしまう。出掛け先などでタッチパネルが動かなくなったらお手上げだ。

 それはそれとして、スタートメニューなどをちゃっちゃと整理し(=ほとんどのものを中身も見ずに消してしまい)「TeraTerm」(4.97)と「Kaoriya版vim・64ビット版」(8.0.0596)を有り難く頂いてインストール。これでもう無敵だ(謎)。

 ところで、ふと思い出したことがある。私のような爺はviが好きなので、若者に殊更viを押し付けて迷惑がられるわけである。もう迷惑がられるのも嫌なので、職場の若い人には何も言わないようにしている。さておき、「viは範囲の選択やコピーがダメだ」というが、そんなことはない。「マーク」を使えば縦横自在である。

 行aから行bまでをコピーして貼り付け

  1.  行aでコマンド「ma」(これは「そこを『a』行とマーク」の意)
  2.  行bでコマンド「mb」(これは「そこを『b』行とマーク」の意)
  3.  カーソルはどこでもいいので、コマンド「:’a,’by」(これは「a行からb行までをヤンク(コピー)」の意)
  4.  貼り付けたい場所にカーソルを移動
  5.  貼り付けたい行でコマンド「p」

 この際、「移動」したい場合は、「ヤンク」のところを「デリート」にすればよい。すなわち「:’a,’bd」である。