2009-04-10 14 views
7

Burada yapmaya çalıştığım şey, global bir değişkeni arttırmak için basit bir işlev. İyi çalışıyor.Vim: vimrc'de değişkenler nasıl kullanılır?

let g:high_ind = 1 

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

Ben bir değişken olarak kabul edilmez map

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

Ama g:high_ind bir de bu değişkeni kullanmak istiyorum. Bu değişken nasıl kullanılır?

Veya daha ilginç olarak, aşağıdaki gibi bir şey yapmak mümkün mü?

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

cevap

8

Sen kullanmak zorunda: exe veya c_CTRL-R_ =:

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

BTW, bu sayfaya bir göz olmalıdır şüpheli: vim.wikia üzerine Highlight multiple words.