【问题标题】:What is the difference between MacVim and regular Vim? [closed]MacVim 和普通 Vim 有什么区别? [关闭]
【发布时间】:2022-03-15 01:54:53
【问题描述】:

我对 OS X 相当陌生,但我熟悉 Vim,因为我在各种 *nix 系统中使用它。我见过很多人推荐在终端中运行 MacVim 而不是 Vim。谁能告诉我 MacVim 和普通 Vim 有什么区别?

【问题讨论】:

  • 可能与 mac 友好的键绑定(ctrl 与命令键)有关

标签: macos vim text-editor macvim


【解决方案1】:

MacVim 只是 Vim。你以前在 Vim 中所做的任何事情都将在 MacVim 中以完全相同的方式工作。

MacVim 比终端中的 Vim 甚至 Linux 中的 GVim 更集成在整个操作系统中,它遵循许多 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 中开箱即用,但在仅支持 8 种颜色(+ 高亮)的 Terminal.app 中看起来很糟糕,但您可以使用 iTerm — 可以设置为支持 256 色——而不是终端。

所以……基本上我的建议是两者都用。

编辑:我没试过,但最新版本的 Terminal.app(10.7 中)应该支持 256 色。我还在工作中使用 10.6.x,所以我还会使用 iTerm2 一段时间。

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

$ mvim -v

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

【讨论】:

  • Homebrew 是一个相对于 macports 的无痛包管理器,一旦安装了 homebrew,只需 brew install macvim 就可以了。 mxcl.github.com/homebrew
  • +1 用于自制软件。我在 brew 上的运气比在 macports 上要好得多。虽然 macports 仍然比 homebrew 有更多的软件包。
  • @Greg macports 有多难sudo port install macvim
  • @pellucide 当然,安装一个包不再那么痛苦了。但是恕我直言,在 Homebrew 中管理依赖项和操作系统默认包与已安装包相比要容易得多。此外,sudo 在自制软件中从不需要。
  • 有趣的事实:通过自制软件安装 macvim 时,emacs 被安装为依赖项之一:D
【解决方案2】:

我认为值得切换到 MacVim 的一个原因是:Yank 使用系统剪贴板。

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

【讨论】:

  • 您也可以使用终端 VIM 中的* 寄存器来拉取系统剪贴板。哪个 IMO 更好,因为我个人并不总是想同步到我的系统剪贴板。因此,在 VIM 中,例如拉出一行时,使用 "*yy 复制到剪贴板。
  • vim.wikia.com/wiki/Accessing_the_system_clipboard - 你所要做的就是在你的 .vimrc 中添加一行以使其成为默认值
  • 如果你想在终端 vim 中拉到剪贴板,只需添加一个 +,例如如果你想将整个内容复制到剪贴板 :%y+
【解决方案3】:

不幸的是,使用“mvim -v”,ALT 加箭头窗口仍然不起作用。我还没有找到任何方法来启用它:-(

【讨论】:

  • 感谢mvim 命令,我通过 HomeBrew 安装了 MacVim,但不知道有默认的符号链接命令。谢谢!
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 2014-11-06
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2011-02-25
    相关资源
    最近更新 更多