简体   繁体   中英

Vim: how to use variables in vimrc?

here what I am trying to do, a simple function to increment a global variable. It works fine.

let g:high_ind = 1

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

I want to use this variable in a map

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

But g:high_ind is not recognized as a variable. How to use this variable?

Or more interestingly, is it possible to do something like the below?

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

You have to use :exe or c_CTRL-R_=:

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

BTW, I suspect you should have a look at this page: Highlight multiple words on vim.wikia.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM