Estoy tratando de implementar el script vim del libro Learning vi and vim en la página 202. La siguiente función funciona, pero cuando intento usar statusline para llamarlo I el siguiente error:Vim: Llamar a una función personalizada desde setline status en vimrc
$ vim
$ Error detected while processing /Users/me/.vimrc:
E518: Unknown option: \ %{SetTimeOfDayColors()}
Aquí está la secuencia de comandos de vim (que es actualmente en mi .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()}
el propósito de la última línea es tener vim comprobar el tiempo cada vez que hago una edición y ejecuta la función personalizada. Pero no puedo hacer que funcione. ¿Alguna sugerencia? Gracias.
Perfecto - gracias! – Rob