Vim命令行模式 - 如何确认选择?

时间:2014-05-01 03:28:00

标签: vim

在zsh中,如果您在主目录中键入ls <Tab>,它将显示您家中的所有非隐藏文件,然后每个<Tab>循环显示文件名。

如果当前突出显示的文件名是我想要的,如果该项是dir,我输入/确认我的选择,如果是文件,我使用<Space>

正如this post指示的那样,我在.vimrc中添加了这两行,以便像vim一样完成。

set wildmode=longest,list,full
set wildmenu

但是当vim在选项中循环时,我该如何确认选择呢? 就像我家里的目录一样,我启动vim,:e +一些标签,当选择在我的文档目录上时,我该如何确认? <Enter>将完成命令,<Esc><C-c>取消该命令,而/会附加反斜杠,以便命令变为:e document// - 而不是我想要的。 / p>

3 个答案:

答案 0 :(得分:2)

从vim文档(:help wildmenu):

While the "wildmenu" is active the following keys have special meanings:

[...]
<Down> - in filename/menu name completion: move into a subdirectory or submenu
[...]

所以我认为这至少是你所追求的一部分。

答案 1 :(得分:0)

以防万一其他人(像我一样)到此为止,觉得@Geoff的回答并不像vim那样。

我发现 Ctrl + D 正是OP所要求的。 :help cmdline-completion

中的更多信息

答案 2 :(得分:0)

我使用 <space> 来选择。

cnoremap <expr> <space>  wildmenumode()?"\<space>\<BS>":"\<space>"