选择 QuickFix 窗口中的项目后,如何关闭该窗口?

Wes*_*ler 4 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
Run Code Online (Sandbox Code Playgroud)

Ing*_*kat 10

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

:autocmd FileType qf nnoremap <buffer> <CR> <CR>:cclose<CR>
Run Code Online (Sandbox Code Playgroud)

注意:如果您不想将其应用于位置列表,则需要稍微调整映射。


小智 6

在卢阿:

-- close quickfix menu after selecting choice
vim.api.nvim_create_autocmd(
  "FileType", {
  pattern={"qf"},
  command=[[nnoremap <buffer> <CR> <CR>:cclose<CR>]]})
Run Code Online (Sandbox Code Playgroud)