【发布时间】:2012-04-13 20:18:47
【问题描述】:
我已经从使用 MacVim 转变为在我的 MacOs Lion 上的终端中使用 vim,并且我已经意识到这两者:
has('macunix')
has('mac')
返回 false 而不是 true(它们在 MacVim 中工作正常)。 这是一个问题,因为我在 Mac 和 Archlinux linode 上使用相同的 .vimrc,并且需要根据操作系统设置特定选项。
到目前为止,我能挖掘的唯一解决方案是使用 hostname() 函数来获取机器名称并将其映射到特定的操作系统上,但它不如能够检查操作系统本身那么优雅。
任何人都知道为什么 has('...') 命令不像文档中那样工作吗?
【问题讨论】:
-
我猜这里发生的事情是您使用的是 OSX 附带的 vim,而不是 MacVim 附带的 vim 终端版本。我强烈建议您使用 MacVim 版本,因为它比 OSX 附带的版本更新并且编译的功能更多。你是如何安装 MacVim 的?
-
你的意思是从终端调用 mvim 吗?这会打开 MacVim,我喜欢在 iterm2 中使用 vim,没有 gui。我还在 /Applications/MacVim.app/Contents/MacOS 中找到了一个“Vim”可执行文件,但它具有上述相同的问题。最后,我真的不记得我是如何安装 MacVim 的 :(
-
has('gui_macvim')只会在 MacVim 上返回 1,无论 GUI 是否正在运行。 -
我现在正在使用 MacVim 附带的 vim CLI,它可以正确识别 has('mac') 和 has('macunix')