vim 在QuickFix窗口中选择一个项目后,如何关闭该窗口?

e5nqia27  于 2023-01-09  发布在  其他
关注(0)|答案(2)|浏览(168)

我在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
6yjfywim

6yjfywim1#

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

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

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

bvn4nwqk

bvn4nwqk2#

在lua中:

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

相关问题