2011-05-05 218 views
166

我對OS X很新,但我熟悉Vim在各種* nix系統中使用它。我見過很多人推薦在終端上運行Vim的MacVim。誰能告訴我MacVim和普通Vim有什麼區別?MacVim和普通Vim有什麼區別?

+2

可能與mac友好的按鍵綁定(ctrl與命令鍵) – ldog 2011-05-05 04:14:06

回答

171

MacVim就是Vim。您在Vim中所做的任何操作都可以在MacVim中以完全相同的方式進行。

MacVim比終端中的Vim或Linux中的GVim更集成在整個操作系統中,它遵循許多Mac OS X的慣例。

如果您主要使用GUI應用程序(例如,YummyFTP + GitX + Charles),您可能更喜歡MacVim。

如果您主要使用CLI應用程序(例如ssh + svn + tcpdump),您可能更喜歡終端中的vim。

爲另一個(GUI)進入和離開一個領域(CLI),反之亦然可能是「昂貴的」。

我使用的MacVim和Vim都根據任務和上下文:如果我在CLI-土地是我只需鍵入vim filename,如果我在GUI的土地是我只是援引水銀和推出的MacVim 。

當我從TextMate切換時,有點喜歡MacVim幾乎支持Mac用戶習慣的所有常規快捷鍵的事實。我添加了一些我自己的,模仿TextMate,但由於我在多個環境中工作,我迫使自己學習vim的方式。現在我使用MacVim和Vim幾乎完全一樣的方式。使用其中一個只是我的背景問題。另外,像El Isra說的那樣,OS X中的默認vim(CLI)稍微過時了。您可以通過MacPorts安裝了最新版本,也可以選擇安裝的MacVim,並添加一個別名到您的.profile

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

有在的MacVim和Terminal.app相同VIM。

另一個不同之處在於,許多偉大的配色方案在MacVim開箱即可使用,但在僅支持8種顏色(+高光)的Terminal.app中看起來很糟糕,但您可以使用iTerm - 可以設置爲支持256色 - 而不是終端。

所以......基本上我的建議是隻使用兩者。

編輯:我沒有嘗試,但最新版本的Terminal.app的(10.7)應該支持256個色。我仍然在使用10.6.x,所以我仍然會使用iTerm2一段時間。

編輯:一個更好的方式來使用的MacVim的CLI可執行在你的shell是移動mvim腳本的MacVim捆綁在你$PATH地方,並使用這個命令:

$ mvim -v 

編輯:是,Terminal.app現在支持256種顏色。所以如果你不需要需要 iTerm2的高級功能,你可以安全地使用默認的終端仿真器。

+1

感謝您的觀點! – 2011-05-05 14:30:43

+73

Homebrew是一個無痛苦的包管理器vs macports,一旦安裝了簡單的'brew install macvim'就可以設置好自制軟件。 http://mxcl.github.com/homebrew – 2012-02-12 14:07:20

+13

我不記得曾經認爲MacPorts是痛苦的。 – romainl 2012-09-18 08:52:33

12

隨Mac OS X提供的Vim已過時(OSX 10.6.7上的7.2.108),並且沒有GUI,因此您可能會發現令人煩惱的錯誤(我做過)。 MacVim與剪貼板,通常的鍵綁定,Finder等很好地集成在一起。它也是最新的(快照57爲7.3.107),它也可以從終端使用(如任何gvim),所以你可以留在你可愛的碼頭,如果你願意。

+1

粘貼從粘貼板可能會特別麻煩與CLI vim – 2011-05-05 07:43:10

+17

@Bavarious:沒有,像'「+ p'這麼簡單, :) – abcd 2011-05-13 02:30:04

+6

與剪貼板集成可以通過'pbcopy'和'pbpaste'完成。 – Memming 2013-06-12 13:47:31

2

不幸的是,用「mvim -v」,ALT加箭頭窗口仍然不起作用。我還沒有發現任何方式使其:-(

+0

感謝您使用'mvim'命令,我通過HomeBrew安裝了MacVim,但不知道是否有默認的符號鏈接命令。謝謝! – 2017-11-06 18:00:50

2

的一個原因,我有這讓切換到的MacVim值得的:猛拉使用系統剪貼板

我可以在我的終端上的MacVim之間終於複製粘貼和我的應用程序的其餘部分

+0

您也可以使用終端VIM中的'*'寄存器將其拖放到系統剪貼板上。哪個IMO更好,因爲我個人並不總是想同步到我的系統剪貼板。因此,在VIM中,例如當用一行代碼時,使用'「* yy'複製到剪貼板。 – 2018-02-02 23:33:00