我对OS X还比较陌生,但在使用各种*nix系统中,我熟悉Vim。我看到很多人推荐在终端中运行MacVim而不是Vim。有人能告诉我MacVim和普通Vim之间的区别吗?
我对OS X还比较陌生,但在使用各种*nix系统中,我熟悉Vim。我看到很多人推荐在终端中运行MacVim而不是Vim。有人能告诉我MacVim和普通Vim之间的区别吗?
MacVim就是Vim,你在Vim中习惯的一切操作也可以在MacVim中完全相同。
与终端中的Vim或者Linux中的GVim相比,MacVim更加整合到整个操作系统中,并遵循许多Mac OS X的约定。
如果你主要使用GUI应用程序(例如YummyFTP + GitX + Charles),那么你可能会更喜欢MacVim。
如果你主要使用CLI应用程序(例如ssh + svn + tcpdump),那么你可能更喜欢在终端中使用vim。
在两种领域之间(CLI和GUI)来回转换可能有些“昂贵”。
我根据任务和情境使用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中看起来很糟糕,因为它只支持8种颜色(+高亮),但你可以使用iTerm代替Terminal,因为它支持256种颜色。
所以...我的建议就是两者都用。
编辑: 我没有尝试过,但是最新版本的Terminal.app(在10.7中)应该支持256种颜色。我还在工作中使用10.6.x,所以暂时还会使用iTerm2。
编辑: 在shell中使用MacVim的CLI可执行文件的更好方法是将MacVim捆绑的mvim
脚本移动到$ PATH
中的某个位置并使用此命令:
$ mvim -v
编辑:是的,Terminal.app现在支持256种颜色。因此,如果您不需要iTerm2的高级功能,您可以放心使用默认的终端仿真器。
brew install macvim
即可完成安装。请访问http://mxcl.github.com/homebrew以获取更多信息。 - Greg Ksudo port install macvim
- pellucidesudo
。 - Roy Tinker编辑:请查看@Luke Davis的评论。
旧回答:
我认为切换到MacVim值得的原因之一是Yank可以使用系统剪贴板。
我终于可以在MacVim终端和其他应用程序之间复制粘贴了。
*
寄存器来将内容复制到系统剪贴板。我认为这种方法更好,因为我不总是想要同步到系统剪贴板。所以在 VIM 中,例如当你想复制一行时,使用 "*yy
命令即可将其复制到剪贴板中。 - Luke Davis+
符号。例如,如果您想将整个内容复制到剪贴板,则输入命令 :%y+
即可。 - smallwat3r关键是通过.vimrc配置文件实现按键绑定。至于剪贴板,您可以使用:set clipboard unnamed
,vim中的复制将进入系统剪贴板。无论如何,我建议您使用这个vimrc配置文件,它包含了很多插件和绑定,会让您的使用体验更加顺畅。
不幸的是,使用“mvim -v”时,ALT +箭头窗口仍然无法工作。我没有找到任何启用它的方法:-(
mvim
命令,我通过HomeBrew安装了MacVim,但不知道有一个默认的符号链接命令。谢谢! - Roy Tinker