A normal unix program that wants to invoke an editor will run the program whose name is in the EDITOR or VISUAL environment variable, and if the variable is unset, a system-dependent default. Many, but not all, programs check both EDITOR and VISUAL; the distinction is long obsolete (once you would run EDITOR on a teletype and VISUAL on a “glass” terminal…) so you should set both to the same value. There is some disagreement as to whether the contents of the variable should be the full path to an executable, an executable name that's looked up in $PATH, or a shell snippet, so you should stick to a path to an executable not containing any shell metacharacter. The system default when neither variable is set is traditionally vi, though some distributions have changed this to a more newbie-friendly editor such as nano.
visudo checks both VISUAL and EDITOR (this can be compiled out, presumably to dissuade root from using an editor whose security the distribution maker doesn't trust, but even OpenBSD doesn't do this).