ターミナルのviをルートのウィンドウ付きvimに置き換える

ターミナルのviをルートのウィンドウ付きvimに置き換える

私は Mac OS X を使用していますが、他の Unix でも同じだと思います。

ターミナルで入力するたびにvi、Vim の GUI バージョン (Mac OS では と呼ばれます) を開きたいですmvim

私のユーザーの場合、~/.profile にエイリアスを追加することで動作しました。

alias vi='mvim'

しかし、必要な場合はsudo vi、エイリアスが設定されていないため、ターミナルの vi が開きます。

ルート ユーザーのエイリアスを に設定してみました/etc/profileが、うまくいきませんでした。/usr/bin/viへのシンボリック リンクも作成してみましたmvimが、やはりうまくいきませんでした。

viルートを含むすべてのユーザーがターミナルに入力するたびに、ウィンドウ化された Vim が開くようにするにはどうすればよいですか?

答え1

/etc/profilesudo ...私の知る限り、実行時に評価されず、シンボリック リンクの問題mvimはスクリプトにあります。スクリプトを見ると、次の行があります。

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

sudo vi名前で起動したため、 GUI モードで起動するための基準を満たしていません。

これらの 2 行を単に置き換えてgui = trueGUI モードを「強制」することもできますが、これによって他に何が壊れるかはわかりません。

関連情報