在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>
答案 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>"