Mercurial tries to pick which program to call to edit a commit message by trying the following (in order):

  1. HGEDITOR environment variable

  2. editor configuration option in [ui] section (in hgrc or passed with --config ui.editor command-line option).

  3. VISUAL environment variable

  4. EDITOR environment variable

  5. vi, if none of the above is set

See also