MacVim和常规Vim有什么区别?


216

我是OS X的新手,但我对在各种* nix系统中使用Vim很熟悉。我已经看到很多人建议在终端上通过Vim运行MacVim。谁能告诉我MacVim和常规Vim有什么区别?


2
可能与Mac友好的键盘绑定(Ctrl和Command键)有关
ldog

Answers:


214

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领域,我将仅调用Quicksilver并启动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可以直接使用许多出色的颜色方案,但是在Terminal.app中看起来很糟糕,Terminal.app仅支持8种颜色(+高亮显示),但是您可以使用iTerm(可以将其设置为支持256种颜色)。终端。

所以……基本上我的建议是同时使用两者。

编辑:我没有尝试过,但是Terminal.app的最新版本(在10.7中)应该支持256色。我仍在使用10.6.x,因此我仍然会使用iTerm2一段时间。

编辑:在外壳中使用MacVim的CLI可执行文件的更好方法是将mvim与MacVim捆绑在一起的脚本移动到您的外壳中的某个位置,$PATH然后使用以下命令:

$ mvim -v

编辑:是的,Terminal.app现在支持256色。因此,如果您不需要 iTerm2的高级功能,则可以安全地使用默认的终端模拟器。


82
Homebrew是与macports相比轻松运行的软件包管理器,只要简单地安装了homebrew brew install macvim并且您已设置好即可。mxcl.github.com/homebrew
Greg K

3
+1为自制。相较于Macport,我对Brew的运气更好。尽管macports的软件包仍然比自制软件更多。
CHEV

2
@格雷格是如何MacPorts的任何困难 sudo port install macvim
pellucide

1
@pellucide当然,安装一个软件包不再痛苦。但是,在Homebrew中,IMHO管理依赖项和OS默认软件包与已安装软件包相比要容易得多。同样,sudo自制也不需要。
罗伊·廷克

12

我之所以值得切换到MacVim的原因之一是:Yank使用系统剪贴板。

我终于可以在终端上的MacVim与其余应用程序之间复制粘贴了。


13
您也可以使用*端子VIM中的寄存器将其拖到系统剪贴板上。哪种IMO更好,因为我个人并不总是希望同步到系统剪贴板。因此,在VIM中,例如,当拉线时,可"*yy用于复制到剪贴板。
卢克·戴维斯

1
vim.wikia.com/wiki/Accessing_the_system_clipboard-您要做的就是在.vimrc中添加一行以使其也默认设置
Jim Deville,

1
如果要在终端vim中拉至剪贴板,则只需添加一个即可+,例如,如果您要将整个内容复制到剪贴板中:%y+
smallwat3r

3

不幸的是,对于“ mvim -v”,ALT加箭头窗口仍然无法正常工作。我尚未找到启用它的任何方法:-(


感谢您的mvim命令,我通过HomeBrew安装了MacVim,但不知道有默认的符号链接命令。谢谢!
罗伊·廷克

1

这一切都与从.vimrc配置中简单实现的键绑定有关。就剪贴板而言,您可以使用,:set clipboard unnamed并且vim中的拉动将转到系统剪贴板。无论如何,无论您最终使用哪个,我都建议使用此vimrc config ,它包含大量的插件和绑定,可以使您的使用体验更加流畅。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.