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


112

私は、これは別の依頼で、より適切であるかもしれないけど、私はそこにタグを追加しようとしたとして、何もありませんでした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を更新するにはどうすればよいですか?私はそれをきれいにしたいと思っています(つまり、重複したインストール、追加のダウンロード、macportsなどはありません)。

(私はすでに他のもののためにそれを使用して)私は指示に従って、Mercurialのを使用して考えられてここに

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

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


8
一般に、Appleがインストールしたビットをいじらないで、macports / homebrew / etcを使用するのが最善だと思います。または自分でビルドしてにインストールし/usr/local/ます。それは多くのスペースを取るつもりではありません。
steveax 2011

github.com/b4winckler/macvim/releases <-最新のmacvimスナップショットをここからダウンロードできます
lfender6445 14

回答:


119

組み込みの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

3
マックOS X 10.8.2で、パスは若干異なります。/Applications/MacVim.app/Contents/MacOS/Vim
zakangelle

2
いいえ、すべてのMac OS Xバージョンで同じです。タイプミスをしました。ありがとう。
romainl 2014年

@ fabian789:1つ目は役に立たないため、2つ目はソフトよりもハードな方が優れていること、3つ目はデフォルトのVimが機能すること、3つ目は問題が発生した場合にVimが機能しなくなったこと、4つ目はシステムのアップグレードによってVimが上書きされ、リストがおそらく続けて…
romainl 2014

2
...またはalias vim='mvim -v'。しかし、これらはどちらもsudo vim古いバージョンを使用すると失敗します。@RobertMartinの回答またはパッケージマネージャーを使用することをお勧めします。他の1つのオプションもあります。エイリアスをに渡すことができるserverfault.comでのSlizzeredによるこの回答です。sudo
Brian McCutchon 2014

「エイリアスは対話型シェルのショートカットです。他のプロセスでは使用されません」とこの回答は述べています。stackoverflow.com/questions/37466767/… したがって、これは、git difftoolまたはに対しては機能しませんgit commit
jasonszhao 2016年

130

私が物事を正しく理解しているなら、あなたは既存の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 * ckupsが非常に大きい場合に以前の構成に戻すには、/ 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

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

/ usr / bin内のバイナリを上書きする場合は、/ usr / local / binにインストールしないことをお勧めします。デフォルトでは、OS Xは/ usr / binを/ usr / local / binよりも$ PATHに優先し、それはそう、それはあなたが何....ワームの独自の缶を開くべきで行います。

パート2:「正解」の回答(ただし悪い考え)

あなたがそうすることに熱中していると仮定すると、あなたは間違いなく軌道に乗っています。現在のインストールの上にインストールするには、「プレフィックス」ディレクトリを設定する必要があります。これは次のように行われます:

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 --help」を実行します。ただし、何かがうまくいかない場合に備えて、実行する前にバックアップを取得してください。


うーん...これに賛成票を投じる必要があるかどうかわかりません...質問に答えます...しかし、それは悪い考えであり、理由も説明していません...それで、私は反対票を投じるべきでしょうか?
アラファンギオン2011

すばらしい答えですが、* nixの初心者として、なぜvimをインストールするために〜に行ったのかを知りたいと思います。また、その./configure ...行は何をしますか?再度、感謝します。
AlexMA 2013年

@AlexMAソース~、つまりホームディレクトリの配置は完全に任意です。どこにでも自由にダウンロードしてください。インストールしたら、ディレクトリも削除できます(この時点でソースは不要です)。
ロバートマーティン

3
ヒントをありがとう!Python、PERL、Rubyのサポートの構成を調整しました./configure --prefix /opt/local --enable-perlinterp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.7
Ain Tohvri

「Voila!これで、vimを使用するときは、古いものを使用します。これはタイプミスだと思うので、「新しいものを使用する」と言う
つもりでした

55

エリックと同様、私は自作を使用しましたが、デフォルトのレシピを使用しました。そう:

brew install mercurial
brew install vim

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

export PATH=/usr/local/bin:$PATH

6
@Beauこれは正しくありません。homebrewにはvimの式があります:github.com/mxcl/homebrew/blob/master/Library/Formula/vim.rb
Koen。

すみません、私のせいです!Aはbrew update確かに私はvimのための式を返せませんでした。
2013

修正viシンボリックリンク:[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
knight9631

私のviシンボリックリンクを追加しました/usr/local/binln -s /usr/local/bin/vim /usr/local/bin/vi
wisbucky

「そして、ターミナルの自作のvimを再起動した後」それは突然私を襲いました-新しいvimを機能させるには、電源をオフにしてから再度オンにする必要があります。おかげで男
ピーターPerháč18年

7

romainlの回答への注記:最初の単語だけがエイリアスでチェックされるため、エイリアスはsudoと一緒に機能しません。これを変更するには、別のエイリアスを.profile / .bashrcに追加します。

alias sudo='sudo '

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


6

Yosemiteでbrewoverride-system-viオプションを使用してvimをインストールします。これにより、「巨大な」vimインストールの機能を備えた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"

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


1
このように、vimを更新するたびにエイリアスを更新する必要があります。また、vimは自動的にバイナリを/ usr / local / binに追加するため、正確な場所をエイリアスとして追加する必要はありません。
Flaudre、2016

Brewフラグ--override-system-viは非推奨になりました。使用する--with-override-system-viinstedをます。
alhuelamo

@ahuelamoソースはありますか?その場合は、自由に編集して入手してください。ありがとう
プライベート

@Privateまあ、それは醸造自体によって提案されました。ここでも見つけることができます github.com/Shougo/neocomplete.vim/issues/401
alhuelamo

オーバーライドフラグを使用する場合、エイリアスの追加は冗長です。
apostl3pol


1

このブログ投稿は私に役立ちました。私は「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
面白い。私はこれを試しましたが、醸造はパスを自動的に置き換えたに違いありません。呼び出しvimは新しいvimを開くように見えました(新しいターミナルを開いた後)
Dylanthepiguy 2016年

1
@Dylanthepiguyは同意しました。homebrewを使用する場合、ここでエイリアスを作成する必要はありません。新しいシェルを開始することも、既存のターミナルでbashrcを再調達することも、どちらもvimコマンドを新しい自作バージョンに更新するために機能しました。
kjones 2017年

1

私はvimを次のようにインストールしました:

brew install vim

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.