作曲・指導・C言語・Linux

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。


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