vim路径自动完成,如何进入目录?

当我想在vim中打开一个文件时,我输入:e查看磁盘上的目录(set wildmenu)。 Vim显示了我的目录列表,然后我多次按Tab键选择我需要的目录,并且当我选择该目录时(vim突出显示它),我应该如何在当前级别停止完成并进入该目录?

我知道在插入模式下完成它是ctrl-y,从vim帮助文件:

                        *complete_CTRL-Y*
When the popup menu is displayed you can use CTRL-Y to stop completion and
accept the currently selected entry.  The CTRL-Y is not inserted.  Typing a
space, Enter, or some other unprintable character will leave completion mode
and insert that typed character."

如何在命令模式下做到这一点?


我认为它的Ctrl E在命令模式下

从vim文档,

                        *complete_CTRL-E*

当完成处于活动状态时,您可以使用CTRL-E停止它并返回到最初输入的文本。 CTRL-E不会被插入。

我在我的gVim中尝试了这一点,它的工作原理。

编辑 :由于@弗朗索瓦的建议,Ctrl D做了一些额外的信息相同的事情。 即它在当前级别停止完成并显示当前选择的内容

就像是

:e eclipse-cpp-indigo-SR2-incubation-win32-x86_64eclipse <Ctrl><D>
artifacts.xml   eclipse.exe     epl-v10.html    p2
configuration  eclipse.ini     features       plugins
dropins        eclipsec.exe    notice.html     readme

它显示了eclipse文件夹内的内容,与在eclipse目录级别停止完成的内容相距eclipse远。


按下Tab键到达所需目录时,按右箭头键(或键入一个字符并将其删除)。 完成后,使用该目录作为基础目录并遍历其子目录。

例如,您在当前目录中具有以下文件结构:

- a
- b
  - c
    - d

您输入e命令并按Tab键。 第一个建议的目录是a。 再次按Tab键以选择下一个目录 - b。 现在按右箭头键。 之后,b目录被选中,并在其内部开始完成。

正如我之前所说的,你可以键入一个字符并将其删除。 如果您留下一个字符(或一系列字符,例如前缀),它将用作过滤器(仅选择名称从前缀开始的那些目录)。

我认为还有其他解决方案。 但以上两点对我来说已经足够了。


还有一个选项:当我想要选择并继续时,我只需输入另一个“/”并继续标签。 在我的状态栏中看起来有点丑陋,但这是一次击键,我不必离开我的主队。

链接地址: http://www.djcxy.com/p/37635.html

上一篇: vim path auto completion, how do I enter a directory?

下一篇: Yank file name / path of current buffer in Vim