Scrapdiary

DesigningとEngineeringの架け橋

viのsyntax highlight(構文ハイライト)が有効にならない理由

リモートで直接簡単なコードを書いてしまいたい場合にviは重宝する。なにせほぼ確実にインストールされているテキストエディタだから。複数のマシンで作業をしてると同じviコマンドなのに挙動が結構違ってたりすることが多々ある。自分が使う場合に「なるべく挙動を揃えたい」という欲求が出てきてホームディレクトリ直下に.vimrcファイルを作り設定を書いてみたのだけど、どうにも反映されない。その一つがsyntax highlightで、コードを書く時にはこれがあるとないとでは可読性が大きく異なる。通常以下の記述を設定ファイルに記述することで切替が可能になる。

syntax on  " シンタックス表示ON
syntax off " シンタックス表示OFF

もしくはexモード時に「:syntax on」といった具合。しかしどうにも有効にならない。このsyntax以外にもいくつか設定したのだが、有効にならないものが多い。helpの日本語化されたものを調べてみると、どうやらコンパイル時のオプションで機能が制限されてしまうらしい。

コンパイル時に|+syntax|機能を無効にした場合には構文ハイライトは利用することはできない。

とあるので、現在使っているviがどんなオプションでコンパイルされているかを知るすべはないかと調べてみると、exモード時に

:version

で確認できるようだ。結果、見事に|-syntax|となっており構文ハイライト機能は有効になっていなかった。
そもそもインストールされて利用していたのはviでありviの拡張版であるvimではなかった。「viは動作の軽るさが命」という思想から、なるべく不要なオプションは排除してインストールされたのだろう。こんなことに結構な長い時間ハマってしまったo...rz

学んだことは見た目より実(基本の操作)を取れということ。vi単体でもまだまだ知らない機能があるので、基本に磨きを掛けて、どんな環境でもちゃんとできるvi使いになろうと思いました。