MacVim和普通Vim有什么区别?

问题描述:

我对OS X很新,但我熟悉Vim在各种* nix系统中使用它。我见过很多人推荐在终端上运行Vim的MacVim。谁能告诉我MacVim和普通Vim有什么区别?MacVim和普通Vim有什么区别?

+2

可能与mac友好的按键绑定(ctrl与命令键) – ldog 2011-05-05 04:14:06

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

随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

不幸的是,用“mvim -v”,ALT加箭头窗口仍然不起作用。我还没有发现任何方式使其:-(

+0

感谢您使用'mvim'命令,我通过HomeBrew安装了MacVim,但不知道是否有默认的符号链接命令。谢谢! – 2017-11-06 18:00:50

的一个原因,我有这让切换到的MacVim值得的:猛拉使用系统剪贴板

我可以在我的终端上的MacVim之间终于复制粘贴和我的应用程序的其余部分

+0

您也可以使用终端VIM中的'*'寄存器将其拖放到系统剪贴板上。哪个IMO更好,因为我个人并不总是想同步到我的系统剪贴板。因此,在VIM中,例如当用一行代码时,使用'“* yy'复制到剪贴板。 – 2018-02-02 23:33:00