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

时间:2012-04-19 04:59:42

标签: vim

当我想在vim中打开文件时,我输入:e来查看磁盘上的目录(设置wildmenu)。 Vim向我显示了我的目录列表,然后我按Tab键几次选择我需要的目录,当我选择该目录时(vim突出显示它)我该怎么办才能在当前级别停止完成并进入该目录?

我知道在插入模式完成时,它来自vim帮助文件ctrl-y:

                        *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."

如何在命令模式下执行此操作?

3 个答案:

答案 0 :(得分:11)

我认为在命令模式下 Ctrl E

来自vim docs

                        *complete_CTRL-E*
  

完成激活后,您可以使用CTRL-E来停止它并返回到   最初打字的文字。不会插入CTRL-E。

我在我的gVim中试过这个并且它有效。

编辑:感谢@François的建议, Ctrl D 与其他一些信息做同样的事情。即它在当前级别停止完成,并显示当前选择的内容

这样的东西
:e eclipse-cpp-indigo-SR2-incubation-win32-x86_64\eclipse\ <Ctrl><D>
artifacts.xml   eclipse.exe     epl-v10.html    p2\
configuration\  eclipse.ini     features\       plugins\
dropins\        eclipsec.exe    notice.html     readme\

除了在eclipse目录级别停止完成外,它还显示文件夹eclipse内的内容。

答案 1 :(得分:1)

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

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

- a
- b
  - c
    - d

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

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

我认为还有其他解决方案。但上面的两个对我来说已足够了。

答案 2 :(得分:0)

还有一个选择:当我想选择并继续时,我只需输入另一个“/”并继续标签。在我的状态行看起来有点难看,但这是一次按键,我不必离开我的主页。