Ich weiß, dass dies bei Ask Different besser geeignet ist, aber als ich versuchte, dort Tags hinzuzufügen, gab es nur kein vim
Tag macvim
. Also dachte ich mir, ich könnte hier ein besseres Publikum bekommen.
Im Terminal mache ich Folgendes
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Wenn ich zu http://www.vim.org navigiere, wird eine Nachricht angezeigt
Vim 7.3 veröffentlicht!
Wie aktualisiere ich mein eingebautes vim? Ich würde es sehr gerne sauber machen (dh keine doppelten Installationen oder zusätzliche Downloads, keine Macports usw.)
Ich habe überlegt, Mercurial zu verwenden (da ich es bereits für andere Zwecke verwende), wie in den Anweisungen hier beschrieben .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Aber ich denke, das würde eine doppelte Installation ergeben. Trotz meiner oben erwähnten "sauberen" Anforderung sind auch "unreine" Lösungen willkommen, da es vielleicht wirklich keinen anderen Weg gibt.
/usr/local/
. Nicht als würde es viel Platz beanspruchen.Antworten:
Überschreiben Sie nicht das eingebaute Vim.
Installieren Sie es stattdessen von der Quelle an einem anderen Speicherort oder über Homebrew oder MacPorts an ihrem Standardspeicherort und fügen Sie diese Zeile Ihrem .bashrc- oder .profile hinzu:
und / oder ändern Sie Ihre
$PATH
so, dass sie ihren Standort vor dem Standardspeicherort überprüft.Das Beste, was Sie meiner Meinung nach tun können, ist, einfach das neueste MacVim herunterzuladen, das mit einer sehr vollständigen ausführbaren vim-Datei geliefert wird, und es wie folgt in Terminal.app zu verwenden.
quelle
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Beides scheitert jedoch an dersudo vim
Verwendung der alten Version. Ich würde vorschlagen, die Antwort von @ RobertMartin oder einen Paketmanager zu verwenden. Es gibt noch eine weitere Option: Diese Antwort von Slizzered auf serverfault.com, mit der Sie Aliase an übergeben könnensudo
.git difftool
odergit commit
.Wenn ich die Dinge richtig verstehe, möchten Sie sie über Ihr vorhandenes Vim installieren, egal ob gut oder schlecht :-) Dies ist eine schlechte Idee und nicht die "saubere" Art, dies zu tun. Warum? Nun, OS X geht davon aus, dass sich in / usr / bin nichts ändern wird, ohne dass dies bekannt ist. Jedes Mal, wenn Sie dort Inhalte überschreiben, besteht die Gefahr, dass Sie eine komplizierte Interdependenz aufheben. Nehmen wir an, Sie brechen etwas - es gibt keine Möglichkeit, diesen Schaden "rückgängig zu machen". Du wirst traurig und allein sein. Möglicherweise müssen Sie OS X neu installieren.
Teil 1: Eine bessere Idee
Die "saubere" Methode besteht darin, an einem separaten Ort zu installieren und der neuen Binärdatei im $ PATH eine höhere Priorität einzuräumen. Hier ist, wie ich das empfehle:
Voila! Wenn wir jetzt vim verwenden, werden wir das neue verwenden. Um jedoch bei großen Problemen wieder zu unserer alten Konfiguration zurückzukehren, können wir einfach das Verzeichnis / opt löschen.
Sehen Sie, wie sauber das ist.
Ich empfehle, nicht in / usr / local / bin zu installieren, wenn Sie Binärdateien in / usr / bin überschreiben möchten, da OS X / usr / bin standardmäßig in $ PATH eine höhere Priorität als / usr / local / bin hat und mit schraubt das sich öffnet seine eigene Dose Würmer .... Also, das ist , was Sie sollten tun.
Teil 2: Die "richtige" Antwort (aber eine schlechte Idee)
Vorausgesetzt, Sie sind bereit, dies zu tun, sind Sie definitiv auf dem richtigen Weg. Um zusätzlich zu Ihrer aktuellen Installation zu installieren, müssen Sie das Verzeichnis "Präfix" festlegen. Das geht so:
Wenn Sie möchten, können Sie auch einige andere Optionen "konfigurieren" übergeben. Führen Sie "./configure --help" aus, um sie anzuzeigen. Ich hoffe, Sie haben ein Backup, bevor Sie es tun, falls etwas schief geht ...
quelle
~
, dh Ihres Home-Verzeichnisses, ist völlig willkürlich. Sie können es jederzeit herunterladen. Sobald Sie es installiert haben, können Sie auch das Verzeichnis löschen (die Quelle ist zu diesem Zeitpunkt nicht mehr erforderlich)../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
Wie Eric habe ich Homebrew verwendet, aber ich habe das Standardrezept verwendet. So:
Und nach dem Neustart des Terminals sollte Homebrews Vim die Standardeinstellung sein. Wenn nicht, sollten Sie Ihre aktualisieren,
$PATH
damit dies/usr/local/bin
vorher ist/usr/bin
. Fügen Sie beispielsweise Folgendes zu Ihrem hinzu.profile
:quelle
brew update
hat mir tatsächlich eine Formel für vim zurückgegeben.vi
Symlinks:[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
Symlink hinzu zu/usr/local/bin
:ln -s /usr/local/bin/vim /usr/local/bin/vi
Ein Hinweis zu Romainls Antwort: Aliase arbeiten nicht mit sudo zusammen, da nur das erste Wort auf Aliase überprüft wird. Um dies zu ändern, fügen Sie Ihrem .profile / .bashrc einen weiteren Alias hinzu:
alias sudo='sudo '
Mit dieser Änderung
sudo vim
wird sich wie erwartet verhalten!quelle
Installieren Sie auf Yosemite vim using
brew
und dieoverride-system-vi
Option. Dadurch wird vim automatisch mit den Funktionen der 'riesigen' vim- Installation installiert.Die Ausgabe dieses Befehls zeigt Ihnen, wo Brew vim installiert hat. Gehen Sie in diesem Ordner nach unten
/bin/vim
, um vim auszuführen. Dies ist Ihr Befehl, um vim aus einem beliebigen Ordner auszuführen:Aliasen Sie diesen Befehl dann, indem Sie die folgende Zeile in Ihre .bashrc einfügen:
BEARBEITEN: Brauflagge
--override-system-vi
ist veraltet. Geändert für--with-override-system-vi
. Quelle: https://github.com/Shougo/neocomplete.vim/issues/401quelle
--override-system-vi
ist jetzt veraltet. Verwenden Sie--with-override-system-vi
insted.brew install vim --override-system-vi
quelle
Dieser Blog-Beitrag war hilfreich für mich. Ich habe die "Homebrew Built Vim" -Lösung verwendet, die in meinem Fall die neue Version in / usr / local / bin gespeichert hat. Zu diesem Zeitpunkt schlug der Beitrag vor, das System-Vim auszublenden, was für mich nicht funktionierte. Daher habe ich stattdessen einen Alias verwendet.
quelle
vim
schien das neue Vim zu öffnen (nachdem ein neues Terminal eröffnet wurde)Ich habe gerade vim installiert von:
Jetzt wird auf das neue vim von
vim
und auf das alte vim (eingebautes vim) von zugegriffenvi
quelle