如何在选择其中的项目后关闭QuickFix窗口?

时间:2014-01-23 23:18:50

标签: vim vim-plugin

我为我的vim添加了精彩的bookmarks.vim插件。我特别喜欢命名的书签,并使用QuickFix窗口列出它们。

在显示书签列表的代码中,我想在选择一个选项后添加导致QuickFix窗口关闭的内容。我该怎么做?

" Open all bookmarks in the quickfix window
command! CopenBookmarks call s:CopenBookmarks()
function! s:CopenBookmarks()
let choices = []

for [name, place] in items(g:BOOKMARKS)
let [filename, cursor] = place

call add(choices, {
\ 'text': name,
\ 'filename': filename,
\ 'lnum': cursor[1],
\ 'col': cursor[2]
\ })
endfor

call setqflist(choices)
copen
endfunction

1 个答案:

答案 0 :(得分:3)

覆盖quickfix窗口中使用的<CR>映射以选择条目:

:autocmd FileType qf nnoremap <buffer> <CR> <CR>:cclose<CR>

注意:如果您不希望将此应用于位置列表,则需要略微调整映射。