2014-01-23 2 views
1

У меня есть замечательный плагин bookmarks.vim на мой vim. Мне особенно нравятся названные закладки и использование окна QuickFix для их перечисления.Как я могу заставить окно 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 
+0

Звучит так, как будто это может быть полезно: средство переключения окна quickfix (закройте его, если оно открыто, откройте его, если это не так) дано по адресу http://vim.wikia.com/wiki/Toggle_to_open_or_close_the_quickfix_window. –

+0

@ebenezer Я сейчас сохраню это на заднем плане. У меня есть '' и '', отображаемые для перемещения между верхним и нижним окнами и картами F3 для выхода, поэтому ' F3' - это всего лишь несколько/несколько нажатий клавиш в качестве данного решения. –

ответ

2

Override <CR> отображение, которое используется в QuickFix окне, чтобы выбрать запись:

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

Примечание: Если вы не хотите, это относится к спискам местоположения, вам нужно настроить отображение немного.