115)Vimと共にあれ
文章を書く時は、Vimというエディタを使っている(正確にはNeovimだが)。このエディタを長年愛用している理由は二つある。一つは、Vimになれると他のエディタを使っていられなくなること。もう一つは、Vimは端末と強固に結びついているため、内容を横断的に検索したり、文字列置換など、テキスト(に限らない)処理に適しているからだ。
Vimは、UnixやLinuxに標準で搭載されている、最も有名なエディタの一つである(他にはEmacsがある)。Windowsで有名な秀丸エディタやサクラエディタ、TeraPadなどのエディタと比較すると、操作のクセがかなり強く、使いこなすにはそれなりの修行が必要である。しかし、一旦(体で)覚えてしまえば、前述したように他のエディタを受け付けなくなるだろう。
端末と強固に結びついている、と述べたがその強みが最も発揮されるのがexコマンドというラインエディタ機能である。このexコマンドでは、Vimに組み込まれているコマンドだけではなく、外部のコマンド(端末で動くコマンド群)も実行できるのだ。下掲の例のように、Vimで書いている最中のコードを、Vimの内部からコンパイルして実行することも可能だ。htmlならば、:!xdg-open %
と入力すると(Linux + X11)、ブラウザで編集中のページを開くこともできる。とても便利である(%にはファイル名が入っている)。
vi hello.c
#include <stdio.h>
void main() {
puts("hello, world");
}
:!gcc -o %:r %
:!./%:r
hello, world
使えば使うほど手に馴染むのがVimである。この手に馴染む、という表現は言い得て妙だ。なぜならば、このキーにはこの役割が、などとは考えない。思考するより先に指が動いてしまうからだ。それはまるで、演奏家が様々な調の音階を無意識に弾けるように。とはいうものの、かくいうぼくもVimの機能の殆どは未だ知らないままなので、さらなる研鑽を積んでいきたいものである。
最後に、Vimを使うコツについて少しだけ述べて終わりたい。そのコツとは、拡張しないこと、ただそれだけである。プラグインを追加しないことはもちろん、設定ファイルも最低限の記述でよい。あまりに弄ってしまうと、ssh接続などで環境が違うVimに触れた時に戸惑ってしまうし、何よりもVimがもつ本来の強さが分からなくなってしまうからだ。もし、もっと複雑なテキスト処理がしたいのであれば、AWKやPerlでスクリプトを書けばよい。これらを手軽に使えるのもVimの強みである。
2020-04-10