2009-04-10 15 views
7

aquí lo que estoy tratando de hacer, una función simple para incrementar una variable global. Funciona bien.Vim: cómo usar variables en vimrc?

let g:high_ind = 1 

fun! IncHighlightInd() 
    let g:high_ind = (g:high_ind + 1) %10 
    return g:high_ind 
endf 

Quiero usar esta variable en un map

map <C-h> :call IncHighlightInd() <CR> :Highlight g:high_ind <CR> 

Pero g:high_ind no se reconoce como una variable. Cómo usar esta variable?

O, lo que es más interesante, ¿es posible hacer algo como lo siguiente?

map <C-h> :Highlight IncHighlightInd() <CR> 

Respuesta

8

usted tiene que utilizar: exe o c_CTRL-R_ =:

nnoremap <c-h> :exe ":Highlight ".IncHighLightInd()<cr> 
nnoremap <c-h> :Highlight <c-r>=IncHighLightInd()<cr><cr> 

Por cierto, sospecho debe tener una mirada en esta página: Highlight multiple words en vim.wikia.

Cuestiones relacionadas