web-dev-qa-db-ja.com

Mac OS Xの組み込みvimを更新する

Ask Differentではこれがより適切かもしれませんが、そこにタグを追加しようとしたとき、vimタグはなく、macvimだけがありました。だから私はここでより良い聴衆を獲得するかもしれないと考えた。

ターミナルでは、次のことを行います

$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)

http://www.vim.org を参照すると、ニュース項目が表示されます

Vim 7.3がリリースされました!

組み込みのvimを更新するにはどうすればよいですか?私はそれをきれいにしたいと思います(つまり、重複したインストール、追加のダウンロード、macportなどはありません)

here の指示に従って、Mercurialの使用を検討しました(他の目的で既に使用しているため)。

$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make

しかし、それは重複したインストールになると思います。上記の「クリーン」な要件にもかかわらず、「クリーンでない」ソリューションも歓迎されます。他に方法がないかもしれないからです。

108
Kit

ビルトインVimを上書きしないでください。

代わりに、ソースから別の場所にインストールするか、HomebrewまたはMacPortsを使用してデフォルトの場所にインストールし、次の行を.bashrcまたは.profileに追加します。

alias vim='/path/to/your/own/vim'

$PATHを変更して、デフォルトの場所の前の場所を調べるようにします。

私の意見では、最善の方法は、非常に完全なvim実行可能ファイルが付属している最新のMacVimをダウンロードして、Terminal.appで使用することです。

alias vim='/Applications/MacVim.app/Contents/MacOS/Vim' # or something like that, YMMV
119
romainl

私が物事を正しく理解しているなら、良くも悪くも既存のVimの上にインストールしたいと思うでしょう:-)これは悪い考えであり、それはそれを行う「きれいな」方法ではありません。なぜですか? OS Xは、/ usr/binで知らないうちに何も変更されないことを期待しているので、そこに内容を上書きすると、複雑な相互依存関係を壊す危険があります。そして、あなたが何かを壊したとしましょう-そのダメージを「元に戻す」方法はありません。あなたは悲しく孤独になります。 OS Xの再インストールが必要になる場合があります。

パート1:より良いアイデア

「クリーン」な方法は、別の場所にインストールし、$ PATHで新しいバイナリの優先度を高くすることです。私はそれを行うことをお勧めします:

$ # Create the directories you need
$ Sudo mkdir -p /opt/local/bin
$ # Download, compile, and install the latest Vim
$ cd ~
$ hg clone https://bitbucket.org/vim-mirror/vim or git clone https://github.com/vim/vim.git
$ 
$ cd vim
$ ./configure --prefix=/opt/local
$ make
$ Sudo make install
$ # Add the binary to your path, ahead of /usr/bin
$ echo 'PATH=/opt/local/bin:$PATH' >> ~/.bash_profile
$ # Reload bash_profile so the changes take effect in this window
$ source ~/.bash_profile

出来上がり!ここで、vimを使用するとき、新しいものを使用します。ただし、巨大なf * ckupが発生した場合に古い構成に戻すには、/ optディレクトリを削除するだけです。

$ which vim
/opt/local/bin/vim
$ vim --version | head -n 2
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 27 2011 20:55:46)
MacOS X (unix) version

これがどれだけきれいかを見てください。

デフォルトでOS Xは/ usr/local/binよりも$ PATHに/ usr/binの優先度を高く設定しているため、/ usr/binのバイナリをオーバーライドする場合は、/ usr/local/binにインストールしないことをお勧めします。それはワームのそれ自身の缶を開きます....それで、あなたはSHOULDすることです。

パート2:「正しい」答え(しかし悪い考え)

あなたがそれをやろうとしていると仮定すると、あなたは間違いなく順調に進んでいます。現在のインストールの上にインストールするには、「prefix」ディレクトリを設定する必要があります。これは次のように行われます。

hg clone https://bitbucket.org/vim-mirror/vim or git clone https://github.com/vim/vim.git
cd vim
./configure --prefix=/usr
make
Sudo make install

必要に応じて、「configure」に他のいくつかのオプションを渡すこともできます。それらを表示するには、「./ configure --help」を実行します。ただし、何か問題が発生した場合に備えて、バックアップする前にバックアップを取得してください。

124
Robert Martin

エリックのように、自家製のものを使用しましたが、デフォルトのレシピを使用しました。そう:

brew install Mercurial
brew install vim

そして、ターミナルを再起動すると、homebrewのvimがデフォルトになります。そうでない場合は、$PATH/usr/local/binの前になるように/usr/binを更新する必要があります。例えば。以下を.profileに追加します:

export PATH=/usr/local/bin:$PATH
51
Koen.

Romainlの答えへのメモ:エイリアスは最初のWordのみがエイリアスでチェックされるため、エイリアスはSudoと一緒には機能しません。これを変更するには、別のエイリアスを.profile/.bashrcに追加します。

alias Sudo='Sudo '

この変更により、Sudo vimは期待どおりに動作します!

7
jayeff

Yosemiteで、brewおよびoverride-system-viオプションを使用してvimをインストールします。 'huge' vim installの機能を使用して、vimが自動的にインストールされます。

brew install vim --with-override-system-vi

このコマンドの出力は、brewがvimをインストールした場所を示します。そのフォルダーで、/bin/vimに移動して、実際にvimを実行します。これは、任意のフォルダーからvimを実行するコマンドです。

/usr/local/Cellar/vim/7.4.873/bin/vim

次に、.bashrcに次の行を追加して、このコマンドのエイリアスを作成します。

alias vim="/usr/local/Cellar/vim/7.4.873/bin/vim"

編集:醸造フラグ--override-system-viは廃止されました。 --with-override-system-viに変更されました。ソース: https://github.com/Shougo/neocomplete.vim/issues/401

6
Private

このブログ投稿 は私にとって役に立ちました。 「Homebrew built Vim」ソリューションを使用しました。この場合、新しいバージョンは/ usr/local/binに保存されました。この時点で、投稿はシステムvimを隠すことを提案しましたが、それは私にとってはうまくいきませんでしたので、代わりにエイリアスを使用しました。

$ brew install vim
$ alias vim='/path/to/new/vim
$ which vim
vim: aliased to /path/to/new/vim
1
kkelleey

brew install vim --override-system-vi

1
Toothrot

次の方法でvimをインストールしました。

brew install vim

現在、新しいvimはvimによってアクセスされ、古いvim(組み込みvim)はviによってアクセスされます

0
MIA