MacOSにvim
の2つのバージョンがインストールされています。
/usr/bin/vim
、/usr/local/bin/vim
。vim
と入力すると、デフォルトのプログラムが呼び出されます。 vim
と入力するたびにMacVimを使用したいと思います。どのようにするか知っていますか?どちらも同じ~/.vimrc
ファイルを使用していますか?
エイリアスは、~/.bashrc
などのBASHRCファイルの1つで定義されています。以下で、/usr/local/bin/vim
がシンボリックリンクの場合、vim
というエイリアスを作成します。
if [ -h '/usr/local/bin/vim' ]; then
alias vim='/usr/local/bin/vim'
fi
同じロジックを次のように適用できます。
[ -h '/usr/local/bin/vim' ] && alias vim='/usr/local/bin/vim'
-h
は、ファイルがシンボリックリンクであるかどうかをテストします。これは、Homebrewを使用する場合に当てはまる可能性があります。-x
は、ファイルが通常の実行可能ファイルであるかどうかをテストします。(ls -l
がパーミッションの最初の文字をl rwxr-xr-xの文字lとして表示する場合、ファイルがリンクであると判断できます。)
プログラムがデフォルトのエディターを呼び出すために使用するいくつかの変数を設定することもできます。
EDITOR='/usr/local/bin/vim'
VISUAL='/usr/local/bin/vim'
シェルのRCファイルに定義を追加した後、RCファイルを入手して、source ~/.bashrc
またはBASH構成に適したファイルで新しいエイリアスを取得します。コマンドcommand -v vim
は、出力が次の場合にエイリアスが作成されたことを示します。
alias vim=/usr/local/bin/vim
同じVIM RCファイルがvim
の両方のバージョンで使用されます。
バイナリ実行可能ファイルの代わりにシンボリックリンクを指すことの利点は、MacVimのアップグレードのたびにエイリアスを更新する必要がないことです。これはよくあることです。たとえば、brew update && brew upgrade
を使用してアップグレードを実行する場合、Homebrewはシンボリックリンクが正しいバイナリ実行可能ファイルを指すようにします。
システムバージョン/usr/bin/vim
は、現在の場所にとどまる必要があります。システム整合性保護(SIP)を無効にしないと、削除または変更することはできません。 /usr/bin/vim
と入力してシステムバージョンを使用することは可能ですが、vim
と入力すると/usr/local/bin/vim
が呼び出されます。
Homebrewを介してインストールされたすべてのソフトウェアで機能するもう1つの方法は、Homebrewによってインストールされたすべてのソフトウェアが最初にPATH
になるようにPATH
を変更することです。まず、どのzsh
RCファイルにパスの定義がすでに含まれているかを知る必要があります。
cd
grep path .z*
結果の1つにfpath
が含まれる場合があります。これは正しい変数ではありません。 path
という名前の小文字の変数を探しています。編集するファイルの名前(おそらく~/.zshrc
または~/.zprofile
)を推測した後、path
変数の値を変更します。たとえば、以下のpath
は、最初に/usr/local/bin
と/usr/local/sbin
を定義し、次にホームディレクトリ内のスクリプトまたはプログラムを定義し、最後にシステムによってすでに定義されているパスの残りの部分を定義します。 。
path=(
/usr/local/{bin,sbin}
$HOME/bin
$path
)
結果のUnixPATH
変数は、次のように定義されます。
/usr/local/bin:/usr/local/sbin:/Users/$username/bin:/usr/bin:/bin:/usr/sbin:/sbin
zsh
path
変数とUnixPATH
変数はtypseset
によって「結合」されているため、変更するために編集されたファイルはsource
だけです。 path
変数:source ~/.zprofile
など。次に、PATH
変数を調べて、期待どおりに変更されたかどうかを確認します:echo $PATH
。
Homebrewパッケージのメンテナは、/usr/local/bin
がパスの最初にあり、/usr/bin
の前にある場合、どのソフトウェアがmacOSで問題を引き起こすかを非常によく認識しています。たとえば、HomebrewがGNU id
をインストールする場合、BSDの問題を回避するために、/usr/local/bin
のソフトウェアの名前はgid
になります。 id
in /usr/bin
。
Brewの標準は、/usr/local/bin
のようなシステムディレクトリの前のPATH
に/usr/bin
を配置して、コマンドが最初に取得されるようにすることです。