4

MacVimの使用からMacOsLionのターミナルでのvimの使用に移行しましたが、次の両方に気づきました。

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

trueではなくfalseを返します(MacVim内では正常に機能します)。MacとArchlinuxlinodeで同じ.vimrcを使用しており、OSに基づいて特定のオプションを設定する必要があるため、これは問題です。

これまで掘り下げた唯一の解決策は、hostname()関数を使用してマシン名を取得し、それを特定のOSにマップすることですが、OS自体をチェックできるほど洗練されていません。

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 に答える