2009-12-23 59 views
6

我試圖從書本上學習vi和vim的書中實現vim腳本。下面的函數可以工作,但是當我嘗試使用statusline調用它時,出現以下錯誤:Vim:從vimrc中設置狀態行調用一個自定義函數

$ vim 
$ Error detected while processing /Users/me/.vimrc: 
E518: Unknown option: \ %{SetTimeOfDayColors()} 

這裏的vim的腳本(這是目前在我的vimrc)

function SetTimeOfDayColors() 
    let currentHour = strftime("%H") 
    echo "currentHour is " . currentHour 
    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=%<%f\ %h%m%r%=%-20.(line=%l,col=%c%V,totlin=%L%)\%h%m%r%=%-40(,bytval=0x%B,%n%Y%)\ %{strftime(\"%c\")}%=0x%B\ %P 
set statusline += \ %{SetTimeOfDayColors()} 

最後一行的目的是讓VIM檢查的時候,每當我做編輯和運行自定義函數。但我無法讓它工作。有什麼建議麼?謝謝。

回答

9

您需要立即刪除+ =右邊的空格。

+0

完美 - 謝謝! – Rob 2009-12-23 15:31:26

相關問題