命令行完成以进入Vim中的文件夹

命令行完成以进入Vim中的文件夹,vim,autocomplete,Vim,Autocomplete,当我执行:编辑C:\并保持选项卡时,vim将循环浏览所有文件和文件夹。当我想进入一个文件夹时,我想我 可以按Ctrl-E键。但碰巧,我在要输入的文件夹后面键入了另一个反斜杠,例如,:edit C:\Documents\\。这似乎也奏效了。现在,如果我点击tabs,vim开始在C:\Documents中的文件/文件夹中循环 我想知道这背后的原因是什么。有人能给我指一下参考手册,其中详细解释了这种行为吗?是否有更好的方法停止当前目录中的完成,并在另一个目录中启动命令行完成?我使用此映射,类似于插入模

当我执行
:编辑C:\
并保持选项卡时,vim将循环浏览所有文件和文件夹。当我想进入一个文件夹时,我想我 可以按Ctrl-E键。但碰巧,我在要输入的文件夹后面键入了另一个反斜杠,例如,
:edit C:\Documents\\
。这似乎也奏效了。现在,如果我点击tabs,vim开始在C:\Documents中的文件/文件夹中循环


我想知道这背后的原因是什么。有人能给我指一下参考手册,其中详细解释了这种行为吗?是否有更好的方法停止当前目录中的完成,并在另一个目录中启动命令行完成?

我使用此映射,类似于插入模式完成:

" c_CTRL-Y      Yes: Stop wildmode completion. Useful when completing
"           directory names and wanting to use the currently
"           completed directory and now complete its contents,
"           instead of continuing to iterate the directory names.
cnoremap <C-Y> <Space><BS>
“c_CTRL-Y是:停止wildmode完成。完成时很有用
“目录名并希望使用当前
“已完成目录,现在已完成其内容,
“而不是继续迭代目录名。
cnoremap

但是,当您在命令行末尾时,Ctrl-E也可以工作。

没有文档记录,但是,当您在完成过程中修改文本(例如,插入反斜杠)时,vim将只自动完成字符串的剩余部分。这是因为它以当前条目为基础开始了一个新的完成周期。

感谢您指出Ctrl-E技巧,我已经寻找了一段时间了!