将终端的 vi 替换为 root 的窗口 vim

将终端的 vi 替换为 root 的窗口 vim

我在 Mac OS X 上,但我猜其他 unix 也是一样的。

每次我vi在终端上打字时,我都想打开 Vim 的 GUI 版本(在 Mac OS 中它被称为mvim)。

对于我的用户,我可以通过在我的 ~/.profile 上添加别名来实现这一点:

alias vi='mvim'

但是当我必须这样做时sudo vi,它会打开终端的 vi,因为它没有设置别名。

我尝试在 上设置 root 用户的别名,/etc/profile但没有成功。我还尝试创建/usr/bin/vi到 的符号链接mvim,但也没有成功。

vi我怎样才能让任何用户(包括 root 用户)在终端上输入时都打开 Vim 窗口?

答案1

/etc/profilesudo ...据我所知,运行时不会被评估,并且符号链接的问题在于mvim脚本;如果你看一下它,它有以下几行:

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

由于您使用该名称启动它,sudo vi因此不符合以 GUI 模式启动的标准。

您可以简单地用“强制” GUI 模式替换这两行gui = true,但我不确定这还会破坏什么。

相关内容