2009-12-23 10 views
6

में सेट स्टेटसलाइन से एक कस्टम फ़ंक्शन को कॉल करना मैं पृष्ठ 202 पर लर्निंग वी और विम पुस्तक से विम स्क्रिप्ट को कार्यान्वित करने का प्रयास कर रहा हूं। निम्न फ़ंक्शन काम करता है, लेकिन जब मैं इसे कॉल करने के लिए स्टेटसलाइन का उपयोग करने का प्रयास करता हूं I निम्न त्रुटि मिलती है:विम: 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