Am einfachsten ist es, ein kleines Shell-Skript zu erstellen, es in ~/bin
einzufügen und Ihre EDITOR-Variable so einzustellen, dass sie darauf verweist:
#!/bin/bash if [ -z "$DISPLAY" ] then vim "$@" else gvim "$@" fi
Wenn ich eine Remote-Verbindung mit einem Computer herstelle ssh
, ohne -X
, möchte ich less
's vund ' s hg commit
öffnen vim
. Ich weiß, dass ich das mit machen kann export EDITOR=vim
. Wenn ich mich jedoch lokal anmeldete, oder über ssh
mit -X
, möchte ich, dass sich gvim in diesen Fällen öffnet. Kann dies durch Aufrufen export EDITOR=gvim
der richtigen Initialisierungsdatei erreicht werden? Wenn ja, welches und wie funktioniert es?
Am einfachsten ist es, ein kleines Shell-Skript zu erstellen, es in ~/bin
einzufügen und Ihre EDITOR-Variable so einzustellen, dass sie darauf verweist:
#!/bin/bash if [ -z "$DISPLAY" ] then vim "$@" else gvim "$@" fi
Normalerweise möchten Sie Ihren Editor in Ihrem lokalen Profil einstellen (z. B. ~/.bash_profile
für bash, ~/.zprofile
für zsh oder das common ~/.profile
). Diese Datei wird bei jedem Login ausgeführt.
Eine einfache Möglichkeit zum Wechseln zwischen einem grafischen und einem nicht grafischen Editor besteht darin, zu prüfen, ob die DISPLAY
Umgebungsvariable beim Exportieren der EDITOR
Umgebung festgelegt ist:
export EDITOR="$(if [[ -n "$DISPLAY" ]]; then echo 'gvim'; else echo 'vim'; fi)"
(Quelle: https://wiki.archlinux.org/index.php/environment_variables#Examples )