Apple 的 vim 总是用来代替 homebrew
Apple's vim always used instead of homebrew
我看到了一些非常奇怪的东西,老实说我很困惑。
mac 附带的 vim 版本已过时(7.3 而不是 7.4)。我正在尝试从自制软件安装 vim,我想使用那个而不是默认的苹果版本。
我运行“brew install vim
”。它在 /usr/local/bin/vim
中正确安装。一切顺利。
当我运行“which vim
”时,它会打印“/usr/local/bin/vim
”。 vim 的 Apple 版本安装在 /usr/bin/vim
。所以 which 命令告诉我我正在使用 vim.
的自制版本
然而,当我实际运行vim时,它仍然运行苹果版
$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 9 2015 23:58:42)
Compiled by root@apple.com
...
如果我 运行 显式自制软件版本,我会看到:
$ /usr/local/bin/vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 23 2015 18:16:35)
MacOS X (unix) version
Included patches: 1-898
Compiled by Homebrew
...
我什至尝试将 /usr/bin/vim
移动到 /usr/bin/vim73
以尝试强制使用自制版本。但是,当我这样做时,这是我尝试 运行 vim:
时看到的
$ vim --version
-bash: /usr/bin/vim: No such file or directory
$
这是怎么回事?我怎样才能得到 运行 vim 的自制版本?
您忘记了一个参数:
$ brew install vim --override-system-vi
开始一个新的 shell 会话,它将起作用。
Bash 缓存可执行文件的路径,因此当您 运行 vim
它会查看您的 PATH
以找到第一个具有此名称的可执行文件。它缓存它,第二次你 运行 vim
它记得 vim
实际上是 /usr/bin/vim
而 运行 就是那个。
由于您还没有重新启动 Bash 会话,它的缓存仍然是一样的;因此你看到的错误。这与您安装的方式无关 vim
.
如果您不想开始新的 shell 会话,您可以 运行 hash -r
告诉 Bash 清除其可执行文件内存。
我看到了一些非常奇怪的东西,老实说我很困惑。
mac 附带的 vim 版本已过时(7.3 而不是 7.4)。我正在尝试从自制软件安装 vim,我想使用那个而不是默认的苹果版本。
我运行“brew install vim
”。它在 /usr/local/bin/vim
中正确安装。一切顺利。
当我运行“which vim
”时,它会打印“/usr/local/bin/vim
”。 vim 的 Apple 版本安装在 /usr/bin/vim
。所以 which 命令告诉我我正在使用 vim.
然而,当我实际运行vim时,它仍然运行苹果版
$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 9 2015 23:58:42)
Compiled by root@apple.com
...
如果我 运行 显式自制软件版本,我会看到:
$ /usr/local/bin/vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 23 2015 18:16:35)
MacOS X (unix) version
Included patches: 1-898
Compiled by Homebrew
...
我什至尝试将 /usr/bin/vim
移动到 /usr/bin/vim73
以尝试强制使用自制版本。但是,当我这样做时,这是我尝试 运行 vim:
$ vim --version
-bash: /usr/bin/vim: No such file or directory
$
这是怎么回事?我怎样才能得到 运行 vim 的自制版本?
您忘记了一个参数:
$ brew install vim --override-system-vi
开始一个新的 shell 会话,它将起作用。
Bash 缓存可执行文件的路径,因此当您 运行 vim
它会查看您的 PATH
以找到第一个具有此名称的可执行文件。它缓存它,第二次你 运行 vim
它记得 vim
实际上是 /usr/bin/vim
而 运行 就是那个。
由于您还没有重新启动 Bash 会话,它的缓存仍然是一样的;因此你看到的错误。这与您安装的方式无关 vim
.
如果您不想开始新的 shell 会话,您可以 运行 hash -r
告诉 Bash 清除其可执行文件内存。