I find myself copy-pasting long filenames way too often when I work with git. Tab completing deep paths is just as annoying. What might be a better way?

What if git status -s showed me this?

$ git status -s
g1  M lib/child_process.js
g2 M  lib/sys.js
g3 ?? newfile.md

And then I could do this:

$ vim g1
$ git add g3

Does anyone know of a tool that allows this?

If it doesn't exist, let's see if I can make it :)