TEXEDIT = ${EDITOR:-vi} +%d "%s" work and respect the EDITOR environment variable? Well, texmfmp.c ends up calling system(3) on the string, so it would seem so, but when I actually tried it, it didn't seem to work. I dunno.