tabは仮想化されるべき
まあ、2tabでも4tabでも良いのだが、これがソースファイル上のメタデータとして付与されていないので、開いてみないとわからないし、開いて違和感があれば2tabにしたり4tabにしたりするというのが実情である。
自分は4tabが好みだとしても2tabで書かれたファイルは、やはり2tabで編集していくべきだろう。2tabで書かれているプログラムは、たいてい深いインデントがされているので、4tabだと画面右端を遙かに超えてしまうからである。
結局のところ、このように2にも4にも8にも自由に解釈されるtabという文字コード自体に問題があると思うので、相手に渡すソースファイルには使用したくないのである。
だから、tabは保存するときにスペースに変換されるような設定でコードを書くのだが、そうすると読み込んだときにスペースになっている。スペースになって何が困るかというと、カーソルキーで移動させるときに無駄に回数を押さないといけなかったり、デリートキーやバックスペースで削除するときにキーを叩く回数が増えるのである。これが非常に鬱陶しい。
そこで、コードエディタでは、行頭から続いている半角スペースに関してはtabのようにふるまって欲しいわけだ。
つまり、行頭から12個の半角スペースが続いているなら、これらは仮想tabとみなして、(仮想4tabなら)3回デリートキーを押せば削除されて欲しい。カーソル移動にしても"←"キーを1回押せば4つずつ移動して欲しいわけだ。
簡単なテストプログラムを作って使ってみたところ、これがコードを書くには結構便利なんだ。
世間のテキストエディタにもこういう機能、搭載されないかなぁ。