如何在Unite.vim中导航结果(候选人)?

时间:2014-02-19 10:55:26

标签: vim unite.vim

unite.vim中搜索后,您打开一个候选人。是否有一种简单的方法可以跳转到下一个而无需再次运行搜索命令?类似的插件(ack.vimgit-grep)使用quickfix窗口,因此您可以键入:cn:cp以跳转到下一个/上一个结果。 unite.vim中有类似内容吗?

谢谢!

2 个答案:

答案 0 :(得分:7)

我还没有设法找到将结果放入quickfix或位置列表的方法,但我确信你可以扩展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来浏览源文件,而无需在选择项目时关闭或取消聚焦Unite缓冲区。

答案 1 :(得分:6)

好消息,大家好!我在Unite repo中创建了一个issue-724你的请求,它在眨眼之间已经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|.