2009-04-10 48 views
7

這裏我正在嘗試做一個簡單的函數來增加一個全局變量。它工作正常。Vim:如何在vimrc中使用變量?

let g:high_ind = 1 

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

我想使用這個變量在map

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

g:high_ind不被識別爲一個變量。如何使用這個變量?

或者更有趣的是,是否有可能做下面的事情?

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

回答

8

你必須使用:EXE或c_CTRL-R_ =:

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

BTW,我懷疑你應該看看這個頁面:上vim.wikia Highlight multiple words