Замените терминал vi на оконный vim для root

254
Schrute

Я на Mac OS X, но я думаю, что то же самое для других Unix.

Каждый раз, когда я печатаю viна терминале, я хочу открыть версию Vim с графическим интерфейсом (в Mac OS она называется mvim).

Для моего пользователя это работает, добавив псевдоним в мой ~ / .profile:

alias vi='mvim' 

Но когда мне нужно sudo vi, он открывает терминал vi, потому что у него нет установленного псевдонима.

Я попытался установить псевдоним для пользователя root, /etc/profileно он не работал. Я также попытался сделать /usr/bin/viсимволическую ссылку на mvim, но это тоже не сработало.

Как я могу сделать так, чтобы каждый пользователь, включая root, вводил viв Терминале время, когда он открывает окно Vim?

0

1 ответ на вопрос

1
FLIR31207

/etc/profile is not evaluated when you run sudo ... as far as I know and the problem with the symbolic link is the mvim script; if you look at it, it has these lines:

# GUI mode, implies forking case "$name" in m*|g*|rm*|rg*) gui=true ;; esac 

Since you started it with sudo vi the name does not fullfil the criteria to launch in GUI mode.

You could simply replace those two lines with gui = true to "force" GUI mode, but I am not sure what else this might break.