2014-02-19 1 views
6

После поиска в unite.vim, вы открываете кандидата. Есть ли простой способ перейти к следующему без необходимости повторного запуска команды поиска? Подобные плагины (ack.vim, git-grep) используют окно быстрого исправления, поэтому вы можете ввести :cn и :cp, чтобы перейти к следующим/предыдущим результатам. Есть ли что-то подобное в unite.vim?Как перемещать результаты (кандидатов) в Unite.vim?

Спасибо!

ответ

7

Мне не удалось найти способ внести результаты в списки быстрого или локального поиска, хотя я уверен, что вы можете расширить Unite, чтобы включить это действие.

Между тем, этот маленький отрывок из документации Unite может помочь вам повторно открыть Unite буфер вам только недавно был открыт:

:UniteResume [{options}] [{buffer-name}] *:UniteResume* 
     Reuses the unite buffer named {buffer-name} that you opened 
     previously. Narrowing texts or candidates are 
     as-is. If {options} are given, context information gets 
     overridden. 

     Note: Reuses the last unite buffer you used in current tab if 
     you skip specifying {buffer-name}. 

Я использую это следующим образом в моем vimrc:

" Press <leader>ll to re-open last Unite buffer 
nnoremap <silent><leader>ll :<C-u>UniteResume<CR> 

Другой полезный отрывок из документации:

-no-quit 
    Doesn't close unite buffer after firing an action. Unless you 
    specify it, a unite buffer gets closed when you selected an 
    action which is "is_quit". 

    -keep-focus 
    Keep the focus on a unite buffer after firing an action. 
    Note: This option is used with "-no-quit" option. 

Например, может связывать

nnoremap <silent><leader>lg :<C-u>Unite -no-quit -keep-focus grep<CR> 

Чтобы иметь возможность нажать <leader>lg к Grep через исходные файлы, не закрывая или де фокусировку буфера Unite при выборе пункта меню.

6

Хорошие новости, все! Я создал issue-724 с вашей просьбой в Unite repo, и это было implemented в мгновение ока! Слава Shougo!

Из документов:

:UniteNext [{buffer-name}] *:UniteNext* 
Do the default action with next candidates in the unite buffer 
with {buffer-name}. 
You can use it like |:cnext|. 

:UnitePrevious [{buffer-name}] *:UnitePrevious* 
Do the default action with previous candidates in the unite 
buffer with {buffer-name}. 
You can use it like |:cprevious|. 
Смежные вопросы