I find I just use tab-completion. I'm quite used to writing the names of the files in my project anyway, and find the "hard core" interaction through the shell quite pleasant, it simply is in line with what you tend to do in the shell.<p>Micro-plug: if you use the Geany editor/IDE, you might like <a href="https://github.com/unwind/gitbrowser" rel="nofollow">https://github.com/unwind/gitbrowser</a> to make switching between files (opening them if necessary) by substring-searching the filename from the Git repo pleasant.