Ich verwende Mac OS X, aber ich vermute, dass dies bei anderen Unix-Versionen genauso ist.
Jedes Mal, wenn ich etwas vi
auf dem Terminal tippe, möchte ich die GUI-Version von Vim öffnen (unter Mac OS heißt sie mvim
).
Für meinen Benutzer hat es funktioniert, indem ich einen Alias zu meinem ~/.profile hinzugefügt habe:
alias vi='mvim'
Aber wenn ich muss sudo vi
, öffnet es das vi des Terminals, weil der Alias nicht festgelegt ist.
Ich habe versucht, den Alias für den Root-Benutzer auf festzulegen, /etc/profile
aber das hat nicht funktioniert. Ich habe auch versucht, /usr/bin/vi
einen symbolischen Link auf zu erstellen mvim
, aber das hat auch nicht funktioniert.
Wie kann ich es erreichen, dass jedes Mal, wenn ein Benutzer (einschließlich Root) etwas vi
auf dem Terminal eingibt, das Vim-Fenster geöffnet wird?
Antwort1
/etc/profile
sudo ...
wird meines Wissens beim Ausführen nicht ausgewertet und das Problem mit dem symbolischen Link ist das mvim
Skript. Wenn Sie es sich ansehen, enthält es diese Zeilen:
# GUI mode, implies forking
case "$name" in m*|g*|rm*|rg*) gui=true ;; esac
Da Sie es mit sudo vi
dem Namen gestartet haben, sind die Kriterien für den Start im GUI-Modus nicht erfüllt.
Sie könnten diese beiden Zeilen einfach durch ersetzen, um gui = true
den GUI-Modus zu „erzwingen“, aber ich bin nicht sicher, was dadurch sonst noch beschädigt werden könnte.