Die akzeptierte Antwort ist wahrscheinlich eine gute, kurze Behandlung, aber dies wird ein Versuch sein, tiefer zu gehen, wenn die Unterscheidung zwischen VISUAL und EDITOR noch wichtig sein könnte (aufbauend auf Adam Katz 'Antwort ).
Die POSIX-Spezifikation unterscheidet weiterhin zwischen Editoren für den visuellen Modus und Zeileneditoren. Dies war wirklich wichtig in den Tagen, als die Cursorpositionierung über seriellen Verbindungen schwierig war (insbesondere aufgrund der Geschwindigkeit der seriellen Verbindung). Der Wikipedia-Artikel für vi gibt einige nützliche Hintergrundinformationen zur Unterscheidung zwischen vi (ein visueller Modus-Editor) und ex (ein Zeileneditor). Wenn Sie die Recherche gründlich genug durchgreifen , finden Sie in der "ex" -Spezifikation den Abschnitt "RATIONALE" , der einen Grund für die noch vorhandene Unterscheidung in der Spezifikation angibt:
Es wird erkannt, dass es schwierig, wenn nicht unmöglich ist, Teile von vi auf einem Blockmodus-Terminal oder einem Terminal ohne irgendeine Form von Cursoradressierung zufriedenstellend zu implementieren, so dass es nicht zwingend erforderlich ist, dass solche Merkmale auf allen Terminals funktionieren . Es ist jedoch beabsichtigt, dass eine vi-Implementierung alle Funktionen auf allen Endgeräten bereitstellt, die diese unterstützen können.
Ich habe dies nicht gebraucht, seit ich mein 300-Baud-Modem aufgegeben habe, aber ich kann mir vorstellen, dass Menschen, die langsame serielle Leitungen für die Verbindung mit eingebetteten Systemen (und / oder über wirklich gefährliche Verbindungen) verwenden, es immer noch zu schätzen wissen, einen bevorzugten Leitungsmodus zu haben Editor unterscheidet sich von einem "visuellen" Editor wie vi. VT100-artige Terminalcodes über eine verlustbehaftete, verzögerte, schmale Verbindung können in begrenzten Anwendungen "aufgebläht" sein.
Für den Rest von uns scheint die "richtige" Antwort zu sein, "beide als Ihren bevorzugten Editor festlegen". Es mag in Ordnung sein, diese Unterscheidung für einen lokalen / grafischen Editor (z. B. Sublime oder gvim) gegen einen Terminal-Fenster-Editor (z. B. vi oder emacs) zu wählen, aber es gibt wahrscheinlich eine Vielzahl von Gründen, warum dies möglicherweise nicht so funktioniert, wie erhofft .
$VISUAL
als Shell-Snippet, an das sie den (in Shell-Anführungszeichen stehenden) Dateinamen anhängen, aber einige behandeln ihn als den Namen einer ausführbaren Datei, in der sie möglicherweise suchen oder nicht$PATH
. Daher ist es am besten,VISUAL
(undEDITOR
) den vollständigen Pfad zu einer ausführbaren Datei anzugeben (die ein Wrapper-Skript sein kann, wenn Sie z. B. Optionen möchten).