【问题标题】:Reverse search completion of vim's command history without using direction keys在不使用方向键的情况下反向搜索完成 vim 的命令历史
【发布时间】:2013-01-09 19:01:25
【问题描述】:

是否可以选择使用历史记录中的命令自动完成当前键入的命令,而不使用方向键? 这是对这个问题的扩展:How do you search through vim's command history?

答案是,在输入:somecommand 后使用<up> 键。我认为不必举手去方向键更像是 vim。

:help cmdline-completion,我试过,Ctrl-NCtrl-PCtrl-DCtrl-L 没有成功。 这可能是我的 vimrc 的相关部分。

set completeopt=menu,longest,preview
set showcmd     
set wildchar=<Tab> wildmenu wildmode=longest,list,full
set wildcharm=<C-Z>

我知道使用q::Ctrl-F 以及Ctrl-NCtrl-P 调用的命令行窗口会在键入: 后线性浏览历史记录。

【问题讨论】:

    标签: vim autocomplete


    【解决方案1】:

    您始终可以将其映射到某些东西。我曾经尝试过使用

    cnoremap <C-p> <Up>
    

    ,但这将禁用完成循环,因此您最好推断出其他内容(没有像 pumvisible() 这样的方法来确定完成是否在命令模式下处于活动状态)。

    【讨论】:

    • 谢谢。我不知道“c”地图。似乎 :cmap --- 和 --- :cmap ---对我有用。我等一下,看看有没有其他选择。
    • @elmanuelito Do never use cmap.
    • 是的,那是为了测试,为了安全,我确实放了一个cnoremap。除此之外,您是否认为我在使用这两个映射时缺少很多 vim 命令和功能?如果没有,并且如果没有其他人向我们展示没有副作用的选项,您可以使用这些映射编辑您的答案吗?
    • @elmanuelito 我从来没有在命令模式下使用二合字母(因为我有音译插件来输入奇怪的字符)。而且&lt;C-j&gt;已经被&lt;CR&gt;覆盖了,应该没问题。
    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多