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

Вы должны использовать: ехе или c_CTRL-R_ =:

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

Кстати, я подозреваю, вы должны взглянуть на эту страницу: Highlight multiple words на vim.wikia.

Смежные вопросы