代码之家  ›  专栏  ›  技术社区  ›  user7988893

未知选项:\%{SetTimeOfDayColors()}

  •  0
  • user7988893  · 技术社区  · 7 年前

    这是我的 .vimrc <<learning the vi and vim>> p201-203 .

    function SetTimeOfDayColors()
        let currentHour = strftime("%H")
        if currentHour < 6 + 0
                let colorScheme = "darkblue"
            elseif currentHour < 12 + 0
            let colorScheme = "morning"
        elseif currentHour < 18 + 0
            let colorScheme = "shine"
        else
            let colorScheme = "evening"
        endif
        echo  "setting color scheme to " . colorScheme
        execute  "colorscheme " . colorScheme
    endfunction
    set statusline += \ %{SetTimeOfDayColors()}
    

    vim test.txt .

    第15行:E518:未知选项:\%{SetTimeOfDayColors()}按ENTER键 或键入命令继续

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ingo Karkat    7 年前

    不能在 = (或 += )转让 :set :

    set statusline+=\ %{SetTimeOfDayColors()}
    

    不过,你已经正确地逃离了领先的空间。在这里,这很容易修复;对于更复杂的修改,切换到 :let

    let &statusline .= ' %{SetTimeOfDayColors()}'
    

    :让 处理变量(和 &statusline