我知道这可能更适合于Ask Different,但当我尝试在那里添加标签时,没有vim
标签,只有macvim
。所以我想我可能会在这里找到更好的观众。
在终端中,我执行以下操作
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
当我浏览http://www.vim.org时,我看到了一则新闻
Vim 7.3发布了!
如何更新内置的vim?我非常希望干净利落(即没有重复的安装,或任何额外的下载,没有macports等)。
根据说明here,我考虑过使用Mercurial(因为我已将其用于其他事情)。
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
但我认为这会导致重复安装。尽管如上所述我的“干净”要求,但“不洁”的解决方案也是受欢迎的,因为也许没有别的办法。
答案 0 :(得分:123)
如果我理解正确,你想安装现有的Vim,无论好坏:-)这是一个坏主意,它是不是“干净”的方式做到了。为什么?好吧,OS X希望在/ usr / bin中不会发生任何变化,因此无论何时你覆盖那里的东西你都有可能破坏一些错综复杂的相互依赖性。并且,假设你确实破坏了某些东西 - 没有办法“撤消”那种伤害。你会伤心孤独。您可能必须重新安装OS X.
“干净”的方法是在一个单独的地方安装,并在$ PATH中使新的二进制文件具有更高的优先级。我建议这样做:
$ # Create the directories you need
$ sudo mkdir -p /opt/local/bin
$ # Download, compile, and install the latest Vim
$ cd ~
$ hg clone https://bitbucket.org/vim-mirror/vim or git clone https://github.com/vim/vim.git
$
$ cd vim
$ ./configure --prefix=/opt/local
$ make
$ sudo make install
$ # Add the binary to your path, ahead of /usr/bin
$ echo 'PATH=/opt/local/bin:$PATH' >> ~/.bash_profile
$ # Reload bash_profile so the changes take effect in this window
$ source ~/.bash_profile
瞧!现在当我们使用vim时,我们将使用新的。但是,要在巨大的f * ckups回到我们的旧配置,我们可以删除/ opt目录。
$ which vim
/opt/local/bin/vim
$ vim --version | head -n 2
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 27 2011 20:55:46)
MacOS X (unix) version
看看它有多干净。
我建议你不要在/ usr / bin / bin中安装二进制文件,因为默认情况下OS X将/ usr / bin放在$ PATH中的优先级高于/ usr / local / bin,并且用它打开就会打开它自己的蠕虫......所以,那就是你应该做的。
假设你已经开始这么做了,你肯定会走上正轨。要在当前安装的基础上安装,需要设置“prefix”目录。这是这样做的:
hg clone https://bitbucket.org/vim-mirror/vim or git clone https://github.com/vim/vim.git
cd vim
./configure --prefix=/usr
make
sudo make install
如果需要,您也可以传递“配置”其他一些选项。做“./configure --help”来看看它们。我希望你在做之前有一个备份,但是,如果出现问题......
答案 1 :(得分:118)
不要覆盖内置的Vim。
相反,请将其从源位置安装在其他位置,或者通过Homebrew或MacPorts在其默认位置安装,然后将此行添加到.bashrc或.profile:
alias vim='/path/to/your/own/vim'
和/或更改您的$PATH
,以便它在默认位置之前查看其位置。
在我看来,最好的办法是简单地下载最新的MacVim,它带有一个非常完整的vim可执行文件,并在Terminal.app中使用它。就像这样。
alias vim='/Applications/MacVim.app/Contents/MacOS/Vim' # or something like that, YMMV
答案 2 :(得分:49)
和Eric一样,我使用的是自制软件,但我使用的是默认配方。所以:
brew install mercurial
brew install vim
重新启动终端后,自制软件的vim应该是默认值。如果没有,您应该更新$PATH
,以便/usr/local/bin
在/usr/bin
之前。例如。将以下内容添加到您的.profile
:
export PATH=/usr/local/bin:$PATH
答案 3 :(得分:7)
对romainl的回答的说明:别名不能与sudo一起使用,因为只检查别名上的第一个单词。要更改此项,请在.profile / .bashrc中添加另一个别名:
alias sudo='sudo '
通过此更改sudo vim
将按预期运行!
答案 4 :(得分:6)
在Yosemite上,使用brew
和override-system-vi
选项安装vim。这将自动安装具有'huge' vim安装功能的vim。
brew install vim --with-override-system-vi
此命令的输出将显示brew安装vim的位置。在该文件夹中,进入/bin/vim
以实际运行vim。这是从任何文件夹运行vim的命令:
/usr/local/Cellar/vim/7.4.873/bin/vim
然后通过在.bashrc中添加以下行来使用此命令:
alias vim="/usr/local/Cellar/vim/7.4.873/bin/vim"
编辑:Brew标志--override-system-vi
已被弃用。已更改--with-override-system-vi
。资料来源:https://github.com/Shougo/neocomplete.vim/issues/401
答案 5 :(得分:1)
brew install vim --override-system-vi
答案 6 :(得分:1)
This blog post对我很有帮助。我使用了“Homebrew built Vim”解决方案,在我的案例中将新版本保存在/ usr / local / bin中。此时,帖子建议隐藏系统vim,这对我不起作用,所以我使用了别名。
$ brew install vim
$ alias vim='/path/to/new/vim
$ which vim
vim: aliased to /path/to/new/vim
答案 7 :(得分:0)
我刚刚通过以下方式安装了vim:
brew install vim
现在vim
可以访问新的vim,vi
可以访问旧的vim(内置vim)