Der beste Weg, um MacVims vim (Konsole, nicht mvim) anstelle des vim von Mac OS X zum Standard zu machen?


101

Ich habe MacVim mit Homebrew installiert. ( brew install macvim). Wenn ich mvimvon cmdanrufe, wird die GUI MacVim geöffnet.

Ich möchte vimdas MacVim's Vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) anstelle des System's ( /usr/bin/vim) Vim aufrufen . Welches ist der beste Weg, dies zu tun? Ich weiß, dass ich es kann, alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"aber ich weiß nicht, ob es der beste Ansatz ist ...

EDIT : Leute, danke für all eure Antworten, aber in der Tat, da ich es bereits benutze homebrew, --override-system-vimist es der elegante Weg, das zu erreichen, was ich brauche.


Was ist der Unterschied zwischen MacVim Console Vim und normalem Vim in Terminal?
Hobbes3

2
@ hobbes3, das mit osx gelieferte vim unterstützt weder ruby ​​noch python. MacVims vim unterstützt dies. Dies ist notwendig, wenn Sie Plugins wie Command-T
asgeo1

Das mit OS X gelieferte Video unterstützt auch nicht die verdammte Zwischenablage.
Thanatos

Antworten:


136

Ich glaube, das ist was Sie suchen:

brew install macvim --with-override-system-vim

Dadurch werden Symlinks zu vim, vimdiff usw. für mvim in / usr / local / bin / vim erstellt. Solange sich / usr / local / bin vor / usr / bin in Ihrem PATH befindet, erhalten Sie die Ergebnisse, die Sie erhalten. Ich suche.

Frühere Versionen von brew verwendeten den Schalter, --override-system-vimder veraltet war.


3
Da ich bereits sagte, dass ich Homebrew verwende, halte ich dies für die beste Option: Ich wusste nicht, dass diese Option möglich ist. Vielen Dank!
Jemand verwendet Sie immer noch MS-DOS

2
Technisch gesehen ist dies eher ein verstecktes Juwel in der Vim-Formel, als dass es sich um Homebrew handelt. :)
Kejadlen

Ich frage mich, was passiert, wenn ich ein Gebräu mache, um Macvim zu entfernen? Oder wird das auch weg sein?
seds

4
Dazu muss anscheinend der vollständige Xcode über den App Store installiert werden (und nicht nur die Befehlszeilentools).
ScoBe

3
Dies funktioniert nicht mehr, da Homebrew in Zukunft alle Formeloptionen entfernt hat. discourse.brew.sh/t/…
Fadecomic


17

Sie können einen Alias ​​in Ihrem erstellen. Fügen Sie ~/.bash_profileeinfach diese Zeile zu dieser Datei hinzu:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"

Eigentlich wäre es so alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim", da ich auf die MacVim-Konsole vim verlinken möchte und nicht auf die GUI-Version.
Jemand benutzt Sie immer noch MS-DOS

Ahh, in Ordnung. Fest!
Wuffers

Da vim eine interaktive Anwendung ist, einen Alias zu tun , dass das System der Vim überschreibt nicht , dass schädliche, ich denke ... zu gehen
Jemand noch verwendet MS-DOS

1
Für mich war das in / Applications. Netter Pseudonym!
user72923

4

brew install macvim --override-system-vimist veraltet. Sie sollten brew install macvim --with-override-system-vimstattdessen verwenden.


Funktioniert nicht mehr.
JESii

3

Um den Standardeditor des Systems zu ändern, fügen Sie Folgendes zu Ihrem .bash_profile hinzu

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

Wenn Sie dies ändern, können Sie MacVim für den Standardeditor verwenden (auch für die App, die den Editor automatisch startet).

BEARBEITEN
Für den normalen Gebrauch am Terminal müssten Sie immer noch 'mvim' verwenden, um eine Datei zu bearbeiten. Wenn Sie weiterhin 'vi' auf dem Terminal eingeben möchten, würde ich vorschlagen, den Alias ​​auch dem .bash_profile hinzuzufügen.

BEARBEITEN 2
Nachdem Sie die Bearbeitung des OPs gesehen haben, können Sie dem Systempfad den Pfad von MacVims vim voranstellen. Hinweis Ich denke nicht, dass dies der beste Weg ist, da dies auch andere Systemaufrufe beim Tätigen von Anrufen am Terminal bewirken kann. Wenn Sie also wirklich nur möchten, dass es sich ändert, wenn Sie 'vim' in die Befehlszeile eingeben, dann ist die Verwendung eines Alias ​​meiner Meinung nach die sauberste und sicherste Vorgehensweise.

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

Testen Sie Ihre Einstellungen which vimam Terminal.


2
Ich möchte mvim nicht zur Standardeinstellung machen. Ich möchte MacVims vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) aufrufen, wenn ich vim auf das Terminal schreibe, anstatt system vim ( /usr/bin/vim).
Jemand benutzt Sie immer noch MS-DOS

@Somebody verwendet Sie immer noch MS-DOS: Entschuldigen Sie, dass Sie Ihre Absicht missverstanden haben.
Adam Lewis

Summen, aber Sie gaben mir eine Idee: Wenn ich vimauf /usr/local/binden $PATHAnsatz verweise und ihn verwende, funktioniert er möglicherweise.
Jemand benutzt Sie immer noch MS-DOS

@Somebody verwendet Sie immer noch MS-DOS: Achten Sie darauf, dass Sie eine Verknüpfung zu einem Verzeichnis herstellen, in dem sich bereits ein VIM befindet.
Adam Lewis

1
:) Meine Gedanken sprangen zum schlimmsten Fall (lokal entfernt). Sie sollten mit dem lokalen Benutzer gut zurechtkommen.
Adam Lewis

2

Edit: einfach Homebrew installieren (lohnt sich!) Und brew install vim

Meine alte Antwort ist unten:


Ich möchte nicht nur aus diesem Grund xcode installieren, ich möchte auch keine Aliase oder Brew-Methoden verwenden (für die auch xcode erforderlich ist), also mache ich Folgendes:

  1. Ich lade MacVim zuerst von der Veröffentlichungsseite herunter ,
  2. Anschließend installiere ich MacVim, indem ich es in meinen Anwendungsordner ziehe.
  3. Für die Terminal-Nutzung gibt es auch eine Terminal-App im Zip, die mvimich mit folgendem Befehl installiere:

    sudo mv mvim / usr / local / bin / vim

  4. Und dann wärme ich die Umgebung auf hash -r(oder schließe das Terminal und öffne es erneut).

  5. Wenn ich vimvon meinem Terminal aus starte, sehe ich das aktualisierte "in der Konsole".

Ich hoffe das hilft jemandem.


Ich benutze Homebrew für viele Sachen. Es ist die Mühe wert. Es brew installist großartig, XCode installiert zu haben, aber in der Lage zu sein, alles zu installieren, was ich brauche, indem ich anrufe .
Jemand verwendet Sie immer noch MS-DOS

1

Meine zwei Cent, ich führe dies immer dann aus, wenn ich meine Python-Version über aktualisiere homebrew.

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.