Was ist der Unterschied zwischen MacVim und normalem Vim?

216

Ich bin relativ neu in OS X, aber ich kenne Vim aus der Verwendung in verschiedenen * nix-Systemen. Ich habe viele Leute gesehen, die empfohlen haben, MacVim über Vim im Terminal auszuführen. Kann mir jemand sagen, welche Unterschiede zwischen MacVim und normalem Vim bestehen?

Mark Costello
quelle
2
Hat wahrscheinlich mit mac-freundlichen Tastenkombinationen zu tun (Strg gegen Befehlstasten)
ldog

Antworten:

214

MacVim ist nur Vim. Alles, was Sie in Vim gewohnt sind, funktioniert in MacVim genauso.

MacVim ist stärker in das gesamte Betriebssystem integriert als Vim im Terminal oder sogar GVim unter Linux. Es folgt vielen Konventionen von Mac OS X.

Wenn Sie hauptsächlich mit GUI-Apps arbeiten ( z. B. YummyFTP + GitX + Charles ), bevorzugen Sie möglicherweise MacVim.

Wenn Sie hauptsächlich mit CLI-Apps arbeiten (z. B. ssh + svn + tcpdump), bevorzugen Sie möglicherweise vim im Terminal.

Das Betreten und Verlassen eines Bereichs (CLI) für den anderen (GUI) und umgekehrt kann "teuer" sein.

Ich verwende sowohl MacVim als auch Vim je nach Aufgabe und Kontext: Wenn ich im CLI-Land bin vim filename, tippe ich einfach und wenn ich im GUI-Land bin, rufe ich einfach Quicksilver auf und starte MacVim.

Als ich von TextMate wechselte, gefiel mir die Tatsache, dass MacVim fast alle regulären Verknüpfungen unterstützte, an die Mac-Benutzer gewöhnt sind. Ich habe einige meiner eigenen hinzugefügt, die TextMate imitieren, aber da ich in mehreren Umgebungen gearbeitet habe, habe ich mich gezwungen, den Vim-Weg zu lernen. Jetzt benutze ich sowohl MacVim als auch Vim fast genau gleich. Das eine oder andere zu benutzen ist für mich nur eine Frage des Kontextes.

Wie El Isra sagte, ist die Standard-VIM (CLI) in OS X leicht veraltet. Sie können eine aktuelle Version über MacPorts installieren oder MacVim installieren und Ihrem Alias ​​einen Alias ​​hinzufügen .profile:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

das gleiche vim in MacVim und Terminal.app zu haben.

Ein weiterer Unterschied besteht darin, dass viele großartige Farbschemata in MacVim sofort funktionieren, aber in der Terminal.app, die nur 8 Farben (+ Hervorhebungen) unterstützt, schrecklich aussehen. Stattdessen können Sie iTerm verwenden, das für 256 Farben eingerichtet werden kann des Terminals.

Also… im Grunde ist mein Rat, einfach beide zu verwenden.

EDIT: Ich habe es nicht ausprobiert, aber die neueste Version von Terminal.app (in 10.7) soll 256 Farben unterstützen. Ich bin immer noch auf 10.6.x bei der Arbeit, also werde ich iTerm2 noch eine Weile verwenden.

BEARBEITEN: Eine noch bessere Möglichkeit, die ausführbare CLI-Datei von MacVim in Ihrer Shell zu verwenden, besteht darin, das mvimmit MacVim gebündelte Skript an eine andere Stelle in Ihrer Shell zu verschieben $PATHund diesen Befehl zu verwenden:

$ mvim -v

BEARBEITEN: Ja, Terminal.app unterstützt jetzt 256 Farben. Wenn Sie die erweiterten Funktionen von iTerm2 nicht benötigen , können Sie den Standard-Terminalemulator sicher verwenden.

romainl
quelle
82
Homebrew ist ein schmerzloser Paketmanager im Vergleich zu Macports, sobald Homebrew einfach installiert ist brew install macvimund Sie fertig sind. mxcl.github.com/homebrew
Greg K
3
+1 für Homebrew. Ich hatte viel mehr Glück mit dem Brauen als mit Macports. Obwohl Macports immer noch mehr Pakete als Homebrew hat.
Chev
2
@ Greg, wie ist Macports schwieriger sudo port install macvim
Pellucide
1
@pellucide Sicher, die Installation eines Pakets ist nicht schmerzhafter. IMHO ist das Verwalten von Abhängigkeiten und Standardpaketen des Betriebssystems im Vergleich zu installierten Paketen in Homebrew jedoch viel einfacher. Auch sudoist in Homebrew nie erforderlich.
Roy Tinker
12

Der einzige Grund, warum sich der Wechsel zu MacVim gelohnt hat: Yank verwendet die System-Zwischenablage.

Endlich kann ich zwischen MacVim auf meinem Terminal und den restlichen Anwendungen kopieren und einfügen.

Janac Meena
quelle
13
Sie können auch das *Register in Terminal VIM verwenden, um in die Systemzwischenablage zu ziehen. Welche IMO ist besser, weil ich persönlich nicht immer mit meiner System-Zwischenablage synchronisieren möchte. Wenn Sie beispielsweise in VIM eine Zeile ziehen, verwenden Sie diese, um "*yysie in die Zwischenablage zu kopieren.
Luke Davis
1
vim.wikia.com/wiki/Accessing_the_system_clipboard - alles was Sie tun müssen, ist eine Zeile zu Ihrer .vimrc hinzuzufügen, damit dies ebenfalls Standard ist
Jim Deville
1
Wenn Sie in Terminal Vim in die Zwischenablage ziehen möchten, fügen Sie einfach ein hinzu +, wenn Sie beispielsweise den gesamten Inhalt in die Zwischenablage :%y+
kopieren möchten
3

Leider funktioniert ALT plus Pfeilfenster mit "mvim -v" immer noch nicht. Ich habe keine Möglichkeit gefunden, es zu aktivieren :-(

Daniel Pinyol
quelle
Vielen Dank für den mvimBefehl. Ich habe MacVim über HomeBrew installiert, wusste aber nicht, dass es einen Standardbefehl mit Symlink gibt. Vielen Dank!
Roy Tinker
1

Es geht um die Tastenkombinationen, die man einfach mit .vimrc-Konfigurationen erzielen kann. Was die Zwischenablage betrifft, können Sie sie verwenden, :set clipboard unnamedund der Ruck von vim wird in die Zwischenablage des Systems verschoben. Egal, welche Sie am Ende verwenden, ich schlage vor, diese vimrc-Konfiguration zu verwenden . Sie enthält eine ganze Reihe von Plugins und Bindungen, die Ihre Erfahrung reibungslos machen.

Manish Baghel
quelle