当我这样做:edit C:\
并保持制表符时,vim 将循环浏览所有文件和文件夹。当我想进入一个文件夹时,我想我可以按Ctrl-E。但只是偶然,我在要输入的文件夹后输入了另一个反斜杠,例如:edit C:\Documents\\
. 这似乎也有效。现在,如果我点击选项卡,vim 开始循环浏览 C:\Documents 中的文件/文件夹。
我想知道这背后的原因是什么。任何人都可以指出我在参考手册中充分解释了这种行为吗?是否存在更好的方法来停止当前目录中的完成并在另一个目录中启动命令行完成?
当我这样做:edit C:\
并保持制表符时,vim 将循环浏览所有文件和文件夹。当我想进入一个文件夹时,我想我可以按Ctrl-E。但只是偶然,我在要输入的文件夹后输入了另一个反斜杠,例如:edit C:\Documents\\
. 这似乎也有效。现在,如果我点击选项卡,vim 开始循环浏览 C:\Documents 中的文件/文件夹。
我想知道这背后的原因是什么。任何人都可以指出我在参考手册中充分解释了这种行为吗?是否存在更好的方法来停止当前目录中的完成并在另一个目录中启动命令行完成?
但是,当您在完成期间修改文本(例如,插入反斜杠)时,没有记录,vim 只会自动完成字符串的其余部分。这是因为它以当前条目为基础开始了一个新的完成周期。
我使用这个映射,类似于结束插入模式完成:
" 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>
但是当您位于命令行末尾时,Ctrl-E 也可以正常工作。