我有一个映射,可以选择文本并键入(leader)av,使用Ack.vim来确认我的视觉选择:
" Visual ack, used to ack for highlighted text
function! s:VAck()
let old = @"
norm! gvy
let @z = substitute(escape(@", '\'), '\n', '\\n', 'g')
let @" = old
endfunction
" Ack for visual selection
vnoremap <Leader>av :<C-u>call <SID>VAck()<CR>:exe "Ack! ".@z.""<CR>
然而,我经常需要重新查找我上次搜索的内容,因此我键入:up来向后搜索我的命令历史记录。问题是,这种方法不会填充历史记录! 我的问题是如何执行以下操作之一:
- 使用Vimscript将条目插入命令行历史记录-或-
- 使其构建的命令实际上作为冒号命令执行,以便自动填充历史记录?
:copen
和:colder
命令打开并浏览旧的快速修复列表(Ack.vim生成),但我想知道如何解决我的上述问题,因为当我知道源代码的某些部分已更改时,我想要重新搜索相同的内容。