La respuesta aceptada es probablemente un buen y breve tratamiento, pero este será un intento de profundizar cuando la distinción entre VISUAL y EDITOR podría seguir siendo importante (basándose en la respuesta de Adam Katz ).
La especificación POSIX todavía distingue entre editores de modo visual y editores de línea. Esto realmente importaba en los días en que el posicionamiento del cursor sobre las conexiones en serie era difícil (especialmente debido a la velocidad de la conexión en serie). El artículo de Wikipedia para vi ofrece algunos antecedentes útiles sobre la distinción entre vi (un editor de modo visual) y ex (un editor de línea). Si profundiza lo suficiente en la investigación, encontrará la sección "JUSTIFICACIÓN" de la especificación "ex" , que da una razón para la distinción que aún se encuentra en la especificación:
Se reconoce que partes de vi serían difíciles, si no imposibles, de implementar satisfactoriamente en un terminal en modo de bloque, o un terminal sin ninguna forma de direccionamiento del cursor, por lo tanto, no es un requisito obligatorio que tales características funcionen en todos los terminales . Sin embargo, la intención es que una implementación vi proporcione el conjunto completo de capacidades en todos los terminales capaces de soportarlos.
No he necesitado esto ya que renunciar a mi módem de 300 baudios, pero puedo imaginar que las personas que usan líneas serie lentos para conectarse a sistemas embebidos (y / o a través de conexiones muy inciertas) podría todavía aprecian la posibilidad de tener un modo de línea preferida editor distinto de un editor "visual" como vi. Los códigos de terminal de estilo VT100 a través de una conexión estrecha, lenta y con pérdida pueden estar "abarrotados" en aplicaciones limitadas.
Para el resto de nosotros, parece que la respuesta "correcta" parece ser "configurar a ambos como su editor preferido". Podría estar bien cooptar esta distinción para el editor local / gráfico (por ejemplo, Sublime o gvim) frente a un editor de ventana de terminal (por ejemplo, vi o emacs), pero es probable que haya una gran cantidad de razones heredadas por las que eso probablemente no funcionará como se esperaba .
$VISUAL
como un fragmento de shell al que agregan el nombre del archivo (entre comillas), pero algunas lo tratan como el nombre de un ejecutable en el que pueden buscar o no$PATH
. Por lo tanto, es mejor establecerVISUAL
(yEDITOR
) en la ruta completa a un ejecutable (que podría ser un script de envoltura si desea, por ejemplo, opciones).