gfとsuffixesadd

「最初に一つ言っておくことがある。
 vimエディタのgfコマンドはファイルパスが完全でないと移動できないと思っているかもしれないが…
 suffixesaddを設定すれば、別に拡張子くらいなくてもgfでファイル移動できる」

「な、何だって!?」

「そしてファイルタイププラグインで適切なsuffixesaddをデフォルトで設定しておいた。
 あとは、ファイル名=クラス名なクラス宣言の上でgfを押すだけだなクックック…」

(ゴゴゴゴ)


gfを押したときに、カーソル下のファイル名に拡張子が付いていなくても、
suffixesaddが設定されていれば、拡張子を補ったファイル名を探してくれます。


更に、JavaPythonRubyでは、ファイルタイププラグインsuffixesaddにそれぞれ、.java.py.rbをセットしているので、
ファイル名とクラス名が揃っている状況なら、クラスの宣言の上でgfと押せば、そのファイルに移動できるのです。


↓ 4行目、SampleA.javaのSampleBインスタンスの宣言の上にカーソルを移動、
 gfを押すと、SampleB.javaファイルを開ける。

1: // SampleA.java
2: public class SampleA {
3:     public void main(String[] args) {
4:         Object o = new SampleB();
5:     }
6: }
1: // SampleB.java
2: public class SampleB {
3:     public SampleB() {}
4: }


特にJavaでは1クラス1ファイルにしていることが多くて、ファイル名を「クラス名 + .java」にするのが普通だから、
覚えておくと役に立つんじゃないかな?どうでしょう。