tabは仮想化されるべき


まあ、2tabでも4tabでも良いのだが、これがソースファイル上のメタデータとして付与されていないので、開いてみないとわからないし、開いて違和感があれば2tabにしたり4tabにしたりするというのが実情である。


自分は4tabが好みだとしても2tabで書かれたファイルは、やはり2tabで編集していくべきだろう。2tabで書かれているプログラムは、たいてい深いインデントがされているので、4tabだと画面右端を遙かに超えてしまうからである。


結局のところ、このように2にも4にも8にも自由に解釈されるtabという文字コード自体に問題があると思うので、相手に渡すソースファイルには使用したくないのである。


だから、tabは保存するときにスペースに変換されるような設定でコードを書くのだが、そうすると読み込んだときにスペースになっている。スペースになって何が困るかというと、カーソルキーで移動させるときに無駄に回数を押さないといけなかったり、デリートキーやバックスペースで削除するときにキーを叩く回数が増えるのである。これが非常に鬱陶しい。


そこで、コードエディタでは、行頭から続いている半角スペースに関してはtabのようにふるまって欲しいわけだ。


つまり、行頭から12個の半角スペースが続いているなら、これらは仮想tabとみなして、(仮想4tabなら)3回デリートキーを押せば削除されて欲しい。カーソル移動にしても"←"キーを1回押せば4つずつ移動して欲しいわけだ。


簡単なテストプログラムを作って使ってみたところ、これがコードを書くには結構便利なんだ。
世間のテキストエディタにもこういう機能、搭載されないかなぁ。