我知道这可能在 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 released!
如何更新我的内置 vim?我非常希望干净地完成(即没有重复安装,或任何额外的下载,没有 macports 等)
我考虑使用 Mercurial(因为我已经将它用于其他用途),按照说明 here .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
但我认为这会导致重复安装。尽管我上面提到了“干净”的要求,但“不干净”的解决方案也是受欢迎的,因为也许真的没有其他办法。
最佳答案
如果我理解正确的话,你想在现有的 Vim 上安装,无论好坏 :-) 这是一个坏主意,而且它不是“干净”的方式去做吧。为什么?好吧,OS X 期望/usr/bin 中不会有任何不为人知的改变,因此任何时候你覆盖其中的内容时,你都会面临破坏某些复杂的相互依赖关系的风险。而且,假设您确实损坏了某些东西 - 没有办法“消除”这种损坏。你会感到悲伤和孤独。您可能需要重新安装 OS X。
第 1 部分:更好的想法
“干净”的方式是安装在单独的位置,并使新的二进制文件在 $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 时,我们将使用新的 vim。但是,为了在出现巨大故障时恢复到旧配置,我们可以删除/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 中的二进制文件时,我建议不要安装在/usr/local/bin 中,因为默认情况下,OS X 在 $PATH 中将/usr/bin 的优先级高于/usr/local/bin,拧紧它会打开它自己的蠕虫 jar ......所以,这就是你应该做的。
第 2 部分:“正确”答案(但不是一个好主意)
假设您决心这样做,那么您肯定已经步入正轨。要在当前安装之上安装,您需要设置“前缀”目录。这样做是这样的:
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”来查看它们。不过,我希望您在执行此操作之前已有备份,以防出现问题......
关于macos - 更新 Mac OS X 上的内置 vim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7211820/