2009-04-10 25 views
7

ở đây những gì tôi đang cố gắng làm, một hàm đơn giản để tăng biến toàn cục. Nó hoạt động tốt.Vim: làm thế nào để sử dụng các biến trong vimrc?

let g:high_ind = 1 

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

Tôi muốn sử dụng biến này trong một map

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

Nhưng g:high_ind không được công nhận như là một biến. Làm thế nào để sử dụng biến này?

Hoặc thú vị hơn, có thể thực hiện điều gì đó như dưới đây không?

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

Trả lời

8

Bạn phải sử dụng: exe hoặc c_CTRL-R_ =:

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

BTW, tôi nghi ngờ bạn nên có một cái nhìn tại trang này: Highlight multiple words trên vim.wikia.

Các vấn đề liên quan