Vim:从vimrc中的set statusline调用自定义函数

前端之家收集整理的这篇文章主要介绍了Vim:从vimrc中的set statusline调用自定义函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从第202页的学习vi和 vim这本书中实现 vim脚本.以下功能有效,但是当我尝试使用statusline来调用它时,我收到以下错误
  1. $vim
  2. $Error detected while processing /Users/me/.vimrc:
  3. E518: Unknown option: \ %{SetTimeOfDayColors()}

这是vim脚本(它目前在我的.vimrc中)

  1. function SetTimeOfDayColors()
  2. let currentHour = strftime("%H")
  3. echo "currentHour is " . currentHour
  4. if currentHour < 6 + 0
  5. let colorScheme = "darkblue"
  6. elseif currentHour < 12 + 0
  7. let colorScheme = "morning"
  8. elseif currentHour < 18 + 0
  9. let colorScheme = "shine"
  10. else
  11. let colorScheme = "evening"
  12. endif
  13. echo "setting color scheme to " . colorScheme
  14. execute "colorscheme " . colorScheme
  15. endfunction
  16. 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
  17. set statusline += \ %{SetTimeOfDayColors()}

最后一行的目的是每当我进行编辑并运行自定义函数时让vim检查时间.但我无法让它发挥作用.有什么建议?谢谢.

您需要立即删除=右侧的空格.

猜你在找的Bash相关文章