Wie starte ich mvim (MacVim) vom Terminal aus?

258

Ich habe MacVim installiert und versuche, es als Editor für Git (Versionskontrolle) einzurichten, aber ich kann 'mvim' nicht über die Befehlszeile ausführen, da es nicht erkannt wird. Wie richte ich mvim ein, damit ich es vom Terminal aus ausführen kann?

Fred
quelle
3
Versuchen Sie es vimüber die Befehlszeile.
Pavium
4
Haftungsausschluss: Dies würde unter Linux funktionieren, daher ist es auf einem Mac wahrscheinlich ähnlich. Versuchen Sie, den Pfad echo $PATHanzuzeigen (verwenden Sie " ") und fügen Sie den Ordner der ausführbaren MacVim-Datei hinzu, falls er noch nicht vorhanden ist (verwenden Sie " export PATH=$PATH:path/to/folder"). Achten Sie auf die $Zeichen, sie sind wichtig!
Laura

Antworten:

190

Im Stammverzeichnis der .bz2-Datei sollte sich ein Skript mit dem Namen mvim befinden. Kopieren Sie dies irgendwo in Ihren $ PATH (/ usr / local / bin wäre gut) und Sie sollten sortiert werden.

Gordon Robertson
quelle
9
Wo finden Sie die bz2-Datei?
jnthnclrk
2
Vor einem Jahr haben Sie das bekommen, als Sie MacVim heruntergeladen haben. Jetzt ist es eine TBZ-Datei, aber das Skript ist noch vorhanden.
Gordon Robertson
5
Sie können die Datei mithilfe von find aus Ihrem Stammverzeichnis suchen. sudo find . -name mvimMeins war in / Applications / MacVim-snapshot-64 / mvim.
tltjr
19
Da mvim einfach ein Shell-Skript ist, können Sie es hier direkt von der MacVim-Quelle bei GitHub herunterladen: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad Parks
3
Laut: help mvim musste ich /Applications/MacVim.app/Contents/binmeinen Pfad erweitern, dann hat es gut funktioniert.
Hraynaud
210

Ich glaube nicht, dass ich dem Pfad etwas hinzufügen würde

brew install macvim

mvim -v

sollte dann macvim im terminal geöffnet werden, kannst du auch weitermachen und das alias

alias vim='mvim -v'
Swapneel Patil
quelle
38
Wer dies heute mit Homebrew liest, muss es brew linkappsnach der Installation von macvim ausführen.
Aaron Lake
1
Die Option '-v' funktioniert, wenn Sie von der Quelle oder vom Download installiert sowie in anderen Antworten gezeigt haben.
Bryan Head
7
brew linkapps --systemwenn Sie es in Ihrem / Applications-Ordner möchten.
mk12
Wenn das Ausführen brew linkappsnicht geholfen hat, führen Sie es auch aus brew doctorund achten Sie auf Macvim-bezogene Warnmeldungen. Möglicherweise müssen Sie es ausführen, brew link --overwrite macvimwenn dies vorgeschlagen wird.
Art
Mit diesem -v-Flag funktioniert das Ändern der Schriftart aus irgendeinem Grund nicht.
Ixx
106

Wenn Sie sich für das Brauen entscheiden, ist die Installation am besten wie folgt:

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

Dadurch werden mvim, vim, vi, view usw. in / usr / local / bin bereitgestellt (alle mit der Kopie im Keller verknüpft). Dadurch entfällt auch die Notwendigkeit, Aliase zu erstellen, und Ihr vi, vim usw. werden so geändert, dass alle dieselbe Vim-Distribution wie Ihr MacVim verwenden.

Sean Chou
quelle
Während die --override-system-vimfür mich einige der Symlinks tat schaffen, scheiterte es außer Kraft zu setzen /usr/bin/vimund /usr/bin/viund so habe ich immer noch von Hand hatte aliasdiese in meinem .profile.
Davetapley
12
Dave, das klingt nach einem PATH-Problem. / Usr / local / bin muss an erster Stelle in Ihrem PATH stehen. Diese Antwort, die auf Gebräu zeigt, sollte die Antwort Nummer eins sein, da sie Ihnen alles bietet, was Sie brauchen.
Jason Yanowitz
3
Wenn Sie ausgeführt brew doctorwerden, sollten Sie über PATH- oder Konfigurationsprobleme beim Brauen informiert werden.
Andrew
Genial! Vielen Dank für die Veröffentlichung. Ich fügte hinzu --override-system-vim und wusste nicht einmal, wie nützlich es sein würde.
xer0x
Das hat bei mir nicht funktioniert, nicht sicher, ob dieses Argument noch funktioniert?
Frotter
43

Wenn Sie MacVim (oder GVim) als $VISUALoder verwenden möchten $EDITOR, sollten Sie sich darüber hinaus bewusst sein, dass MacVim standardmäßig einen neuen Prozess vom übergeordneten Prozess abzweigt, was dazu führt, dass der MacVim-Rückgabewert den übergeordneten Prozess nicht erreicht. Dies kann andere Anwendungen verwirren, aber Git scheint den Status einer temporären Commit-Nachrichtendatei zu überprüfen, wodurch diese Einschränkung umgangen wird. Im Allgemeinen export VISUAL='mvim -f'empfiehlt es sich sicherzustellen, dass MacVim beim Aufruf keinen neuen Prozess auslöst , der Ihnen bei der Verwendung in Ihrer Shell-Umgebung das bietet, was Sie möchten.

hakamadare
quelle
30

Wenn Sie macVim bereits installiert haben: erhalten /Applications/MacVim.app/Contents/MacOS/Vim -gSie die MacVim-GUI.

Fügen Sie einfach einen Alias ​​hinzu.

Ich benutze, gvimweil das ist, was ich unter Linux für Gnome-Vim benutze.

alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'

gcb
quelle
1
Auch die Verwendung alias vim=/Applications/MacVim.app/Contents/MacOS/Vimist eine gute Idee. Dann müssen Sie MacVim weder über MacPorts noch über Homebrew installieren, um Vim in Ihrem Terminal zu aktualisieren. Sie können die Release-Pakete einfach von der GitHub-Release-Seite installieren.
w0rp
Hinweis: Auch nützlich, wenn Homebrew die Installation von Macvim ablehnt, weil Sie aus irgendeinem Grund auf "dieser alten Version" von MacOS bleiben. :)
tekHedd
24

Angenommen, MacVim ist im Anwendungsordner installiert.

Anstatt Ihrer Umgebung einen MacVim-Pfad hinzuzufügen, erstellen Sie einen Link, indem Sie diesen in terminal eingeben:

sudo ln -s /Applications/MacVim.app/Contents/bin/mvim /usr/local/bin/mvim

Öffnen Sie dann ein neues Terminalfenster / eine neue Registerkarte und geben Sie ein mvim.

Ccerhan
quelle
18

Wenn Sie homeBrew installiert haben, ist dies alles, was Sie tun müssen:

brew install macvim
brew linkapps

mvimGeben Sie dann Ihr Terminal ein, um MacVim auszuführen.

Muhammad Reda
quelle
So geht das mit einer Neuinstallation. Ich glaube, er fragt, wie man einen Alias ​​erstellt, wenn er bereits installiert ist.
JackHasaKeyboard
1
Warnung: brew linkappswurde veraltet und wird eventuell entfernt!
Mark
13

Folgendes habe ich getan:

Nach dem Erstellen von Macvim habe ich mvim an eines meiner $ PATH-Ziele kopiert (in diesem Fall habe ich / usr / local / bin ausgewählt).

cp -v [MacVim_source_folder]/src/MacVim/mvim /usr/local/bin

Wenn Sie dann mvim aufrufen, wird es jetzt erkannt, aber es gibt eine nervige Sache. Es öffnet das visuelle MacVim-Fenster, nicht das im Terminal. Dazu müssen Sie aufrufen

mvim -v

Um sicherzustellen, dass Sie bei jedem Aufruf von mvim nicht daran denken müssen, das '-v' hinzuzufügen, können Sie einen Alias ​​erstellen:

alias mvim = 'mvim -v'

Dieser Alias ​​bleibt jedoch nur für diese Sitzung des Terminals bestehen. Damit dieser Alias ​​jedes Mal ausgeführt wird, wenn Sie ein Terminalfenster öffnen, müssen Sie ihn in Ihr .profile aufnehmen. Das .profile sollte sich in Ihrem Home-Verzeichnis befinden. Wenn nicht, erstellen Sie es.

cd ~
mvim -v .profile

Fügen Sie dort den Alias-Befehl ein und speichern Sie ihn.

Das ist es.

Douglas
quelle
Versuchte dies, aber es hat bei mir nicht funktioniert. VIM_APP_DIR = ~ / Downloads / MacVim-snapshot-64 / MacVim.app $ mvim -v xx MacVim.app kann leider nicht gefunden werden. Versuchen Sie, die Umgebungsvariable VIM_APP_DIR auf das Verzeichnis zu setzen, das MacVim.app enthält.
Michael Durrant
Dies funktioniert, wenn Sie MacVim aus dem Quellcode erstellen, github.com/macvim-dev/macvim/blob/master/README_mac.txt , danke @douglas
mbenegas
1
Wahrscheinlich besser ln -sals cpes.
nnutter
1
Mit diesem -vFlag funktioniert das Ändern der Schriftart nicht. -vaktiviert den vi-Modus. Kann mir vorstellen, dass andere Dinge in diesem Modus nicht funktionieren, außer eine benutzerdefinierte Schriftart festzulegen.
Ixx
11

Ich füge hier den Kommentar von Bard Park hinzu, denn das war die wahre Antwort für mich:

Da es sich bei mvim lediglich um ein Shell-Skript handelt, können Sie es hier direkt von der MacVim-Quelle bei GitHub herunterladen: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim

OscarRyz
quelle
/ usr / local / bin befand sich in meinem PFAD, aber der Ordner bin fehlte. Ich hatte Probleme, direkt in / usr / local zu arbeiten (wahrscheinlich ein Berechtigungsproblem), daher habe ich ein bin-Verzeichnis in meinem Ordner "Dokumente" erstellt. Dort habe ich eine MVIM-Datei erstellt, in die ich den Inhalt des Links von Bard Park kopiert habe. Ich habe den bin-Ordner mit dem mvim-Skript nach / usr / local gezogen. Ich wurde nach meinem Passwort gefragt und durfte dann das MVIM-Skript dort platzieren, wo ich es haben wollte. Das Skript wurde jedoch noch nicht ausgeführt. Ich habe Folgendes eingegeben: sudo chmod 755 mvim, um dem Skript Ausführungsberechtigungen zu erteilen. Wenn ich jetzt über die Befehlszeile den Dateinamen mvim eingebe, wird MacVim gestartet.
Jerry Frost
Um den Ordner bin in / usr / local zu ziehen, habe ich zuerst Folgendes eingegeben: open. von der Kommandozeile in / usr / local. Dadurch wird die Finder-GUI für diesen Dateispeicherort aufgerufen.
Jerry Frost
8

Ich würde ernsthaft empfehlen, MacVim über MacPorts ( sudo port install MacVim) zu installieren .

Nach der Installation aktualisiert MacPorts Ihr Profil automatisch so, dass / opt / local / bin in Ihren Pfad aufgenommen wird. Wenn mvim während der Installation von MacVim als / opt / local / bin / mvim installiert wird, ist es sofort einsatzbereit .

Wenn Sie den MacVim-Port installieren, wird das MacVim.app-Bundle auch für Sie in / Applications / MacPorts installiert.

Eine gute Sache bei der MacPorts-Route ist, dass Sie auch git ( sudo port install git-core) und viele andere Ports installieren können . Sehr empfehlenswert.

ianmjones
quelle
1
Danke, ich werde es versuchen. Ich habe MacVim und Git mit den UI-Installationsprogrammen installiert. Aber es sieht aus wie Macports ist der richtige Weg.
Fred
56
Verwenden Sie keine Mac-Port-Versionen, es sei denn, Sie müssen dies unbedingt tun. Es werden alle Abhängigkeitsbibliotheken installiert, wobei die nativen von Darwin ignoriert werden. Dies kann dh Ihr Perl 5.10 durch 5.8 im Pfad usw. ersetzen. Überprüfen Sie stattdessen das Homebrew-System (Brühsystem).
Slava Nadvorny
3
@SlavaNadvorny vielleicht wahr, als dies geschrieben wurde. Ich habe derzeit eine Entwicklungsumgebung mit MacVim, Scipy, Haskell, mehreren Versionen von Erlang, Python und Perl, die alle ordnungsgemäß mit Macports funktionieren. Das gleiche war beim Brauen nicht möglich (zu diesem Zeitpunkt wurde dies geschrieben). Ich mag die Nicht-Sudo-Installation von Brew und wünschte, es würde in diesem Fall funktionieren.
Die Verwendung von Homebrew funktioniert auch hervorragend brew install macvim.
Chev
2

Das funktioniert bei mir:

λ brew link --overwrite macvim
Linking /usr/local/Cellar/macvim/8.0-146_1... 12 symlinks created
AurevoirXavier
quelle
2

Bei Mac- .appBundles sollten Sie diese, falls verfügbar, über ein Fass installieren, da die Verwendung von Symlinks Probleme verursachen kann. Möglicherweise erhalten Sie sogar die folgende Warnung brew linkapps:

Leider brew linkappskann sich Spotlight nicht gut verhalten, wenn entweder Aliase oder Symlinks verwendet werden, und Homebrew-Formeln erstellen keine "richtigen" .app Bundles, die verschoben werden können. Ziehen Sie stattdessen in Betracht, brew caskFormeln mit .apps in Fässer zu verwenden und zu migrieren .

Für MacVim können Sie Folgendes installieren:

brew cask install macvim

Sie sollten dann in der Lage sein, MacVim wie jede andere macOS-App zu starten, einschließlich mvimoder open -a MacVimvon einer Terminalsitzung aus.

UPDATE : Ein bisschen Klarstellung über brewund brew cask. Kurz gesagt, brewbehandelt Software auf Unix-Ebene, während brew caskdie Funktionalität brewder MacOS-Domäne um zusätzliche Funktionen erweitert wird, z. B. die Verwaltung des Speicherorts von MacOS-App-Bundles. Denken Sie daran, dass dies brewauch unter Linux implementiert ist. Daher ist es sinnvoll, diese Unterteilung vorzunehmen. Es gibt andere Ressourcen, die den Unterschied detaillierter erklären, z. B. Was ist der Unterschied zwischen brewund brew cask? deshalb werde ich hier nicht viel mehr sagen.

Ryan H.
quelle
Können wir etwas Klarheit darüber schaffen, was der Unterschied zwischen der Verwendung der Fassinstallation und der Nicht-Fassinstallation ist? Schwer zu sagen, was die Unterschiede sind, wenn sowohl Fass- als auch nicht
Fassinstallationsbefehle
Ich habe einen kurzen Klappentext hinzugefügt, aber ich kenne nicht alle Details, deshalb bin ich nicht ins Detail gegangen.
Ryan H.