我正在使用以下映射 * 以突出显示当前选择
set hlsearch
vnoremap * :call VisualSelection('f')<CR>
vnoremap # :call VisualSelection('b')<CR>
function! VisualSelection(direction) range
let l:saved_reg = @"
execute "normal! vgvy"
let l:pattern = escape(@", '\\/.*$^~[]')
let l:pattern = substitute(l:pattern, "\n$", "", "")
if a:direction == 'b'
execute "normal ?" . l:pattern . "\<CR>"
elseif a:direction == 'gv'
call CmdLine("vimgrep " . '/'. l:pattern . '/' . ' **/*.')
elseif a:direction == 'replace'
call CmdLine("%s" . '/'. l:pattern . '/')
elseif a:direction == 'f'
execute "normal /" . l:pattern . "\<CR>"
endif
let @/ = l:pattern
let @" = l:saved_reg
endfunction
但是,此脚本不会突出显示搜索结果。但是,当在 ex 命令模式下手动输入命令时:execute "normal /" . l:pattern . "\<CR>"
,我确实得到了突出显示。
请让我知道如何从 vimrc 脚本中启用高亮显示。