最好的方法使MacVim的vim(控制台,而不是mvim)成为默认值,而不是Mac OS X的vim?


101

我使用自制软件安装了MacVim。(brew install macvim)。如果我mvim从致电cmd,它将打开GUI MacVim。

我想vim调用MacVim的Vim(/Users/user/Applications/MacVim.app/Contents/MacOS/Vim)而不是系统的(/usr/bin/vim)vim。哪种方法最好?我知道我可以做,alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"但是我不知道这是否是最好的方法...

编辑:伙计们,感谢您的所有回答,但实际上,由于我已经在使用homebrew,使用--override-system-vim来完成我需要的东西是一种优雅的方法。


MacVim控制台vim与终端中的常规vim有什么区别?
hobbes3 2012年

2
@ hobbes3,与osx一起提供的vim没有内置的ruby或python支持。MacVim的vim具有。如果您想使用Command-T这样的插件,这是必需的
asgeo1 2012年

OS X附带的vim也不支持freakin'剪贴板。
Thanatos

Answers:


136

我相信这就是您要寻找的:

brew install macvim --with-override-system-vim

这将在/ usr / local / bin / vim中创建vim,vimdiff等符号链接到mvim,只要/ usr / local / bin在PATH中的/ usr / bin之前,您就可以得到以下结果:重新寻找。

brew的早期版本使用了--override-system-vim已弃用的开关。


3
因为我说过我已经在使用自制软件,所以我认为这确实是最好的选择:我不知道这个选择是可行的。谢谢!
有人仍在使用您MS-DOS

2
从技术上讲,这是vim公式中的隐藏宝石,而不是自制软件本身。:)
kejadlen 2011年

我想知道,如果我做一个brew删除macvim,那会删除macvim并保留原始的vim吗?还是那也将消失?
2013年

4
显然,这需要通过应用商店(而不只是命令行工具)安装完整的Xcode。
ScoBe 2015年

3
这不再起作用,因为自制软件已删除了以后的所有公式选项。discourse.brew.sh/t/...
Fadecomic


17

您可以在中创建一个别名~/.bash_profile,只需将以下行添加到该文件中:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"

其实是alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim",因为我要链接到MacVim的控制台vim,而不是gui版本。
有人仍在使用您MS-DOS

嗯,好吧。固定!
Wuffers 2011年

由于vim是一个交互式应用程序,所以做一个覆盖系统Vim的别名不会带来那么大的危害,我想……
有人仍在使用MS-DOS

1
对我来说,这是在/应用程序中。很好的别名!
user72923 2012年

4

brew install macvim --override-system-vim不推荐使用。您应该brew install macvim --with-override-system-vim改用。


不再有效。
JESii

3

要更改系统的默认编辑器,请将以下内容添加到您的.bash_profile中

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

更改此设置应允许您将MacVim用于默认编辑器(甚至用于自动启动编辑器的应用程序)

编辑
对于终端上的正常使用,您仍然必须使用'mvim'编辑文件。如果您仍然想在终端上键入“ vi”,我建议也将别名添加到.bash_profile中。

编辑2
看到OP的编辑后,您可以将MacVim vim的路径放在系统路径的前面。请注意,我认为这不是最好的方法,因为它在终端上拨打电话时也会影响其他系统调用。因此,如果您只是想在命令行输入'vim'时更改它,那么使用别名相信是最干净,最安全的方法。

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

通过which vim在终端上使用来测试您的设置。


2
我不想将mvim设置为默认值。/Users/user/Applications/MacVim.app/Contents/MacOS/Vim当我在终端而不是系统的vim(/usr/bin/vim)上写下vim时,我想调用MacVim 的vim()。
有人仍在使用您MS-DOS

@Somebody仍在使用您的MS-DOS:很抱歉,您的意图被误解了(自从现在查看您的编辑以来,它的含义有所增加)。
亚当·刘易斯

嗯,不过你给了我一个想法:如果我的符号链接vim/usr/local/bin和使用$PATH的做法,它可能工作。
有人仍在使用您的MS-DOS

@Somebody仍在使用您的MS-DOS:小心符号链接到已包含vim的目录...可能很难知道要获得哪个vim。
亚当·刘易斯

1
:)我的想法跳到了最坏的情况(本地删除)。您应该与本地用户在一起。
亚当·刘易斯,

2

编辑:只需安装自制程序(值得麻烦!),然后 brew install vim

我的旧答案如下:


我不想为此安装xcode,也不想使用别名或brew方法(这也需要xcode),所以我这样做:

  1. 我首先从发布页面下载MacVim ,
  2. 然后,我将MacVim拖到我的“应用程序”文件夹中,
  3. 对于终端使用,zip中还有一个终端应用程序,名为mvim,我可以通过运行以下命令来安装它:

    须藤mv mvim / usr / local / bin / vim

  4. 然后,我通过hash -r重新哈希环境(或关闭并重新打开终端)。

  5. 最终,当我vim从终端运行时,“在控制台”中看到了更新的版本。

我希望这可以帮助别人。


我用自制的东西很多。这是值得的麻烦。安装了XCode,但是仅通过调用就能安装所有我需要的东西brew install
有人仍在使用您的MS-DOS

1

我的两分钱,每当通过升级python时,我都会运行它homebrew

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim
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.