2009-04-10 278 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