4

我已经从使用 MacVim 转移到在我的 MacOs Lion 上的终端中使用 vim,并且我已经意识到:

has('macunix')
has('mac')

返回 false 而不是 true(它们在 MacVim 中工作正常)。这是一个问题,因为我在 Mac 和 Archlinux linode 上使用相同的 .vimrc,并且需要根据操作系统设置特定选项。

到目前为止,我可以挖掘的唯一解决方案是使用 hostname() 函数来获取机器名称并将其映射到特定的操作系统上,但它不如能够检查操作系统本身那么优雅。

任何人都知道为什么 has('...') 命令不像记录的那样工作吗?

4

1 回答 1

4

我同意 Randy Morris 的观点,使用 MacVim 捆绑的 CLI 可执行文件。

但是,这里有几行来自我的~/.vimrc

let os=substitute(system('uname'), '\n', '', '')
if os == 'Darwin' || os == 'Mac'
    set guifont=Inconsolata-dz:h12
    " more...
elseif os == 'Linux'
    set guifont=Inconsolata-dz\ Medium\ 10
    " more...
endif

在 Mac OS X 上,在 X11/XQuartz 中时$ uname返回,否则返回。DarwinMac

于 2012-04-13T12:18:47.913 回答