Um programa unix normal que deseja chamar um editor executará o programa cujo nome está na variável de ambiente EDITOR ou VISUAL e, se a variável não estiver definida, um padrão dependente do sistema. Muitos, mas não todos, programas verificam ambos EDITOR e VISUAL ; a distinção é muito obsoleta (uma vez que você executaria EDITOR em um teletipo e VISUAL em um terminal de "vidro"), então você deve definir ambos para o mesmo valor. Há algum desacordo sobre se o conteúdo da variável deve ser o caminho completo para um executável, um nome executável que foi procurado em $PATH ou um fragmento de shell, portanto, você deve manter um caminho para um executável que não contenha nenhum metacaractere de concha. O padrão do sistema quando nenhuma variável é definida é tradicionalmente vi , embora algumas distribuições tenham mudado isso para um editor mais amigável para iniciantes, como nano .
visudo verifica ambos VISUAL e EDITOR (isso pode ser compilado, presumivelmente para dissuadir o root de usar um editor cuja segurança o distribuidor não confia, mas mesmo o OpenBSD não faz isso).