Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vim路径自动完成,如何输入目录?_Vim - Fatal编程技术网

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

vim路径自动完成,如何输入目录?,vim,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 t

当我想在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."

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

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

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

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

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

我认为还有其他解决办法。但是以上两个对我来说已经足够了。

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

当完成处于活动状态时,您可以使用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\
:e eclipse-cpp-indigo-SR2-cultation-win32-x86\u 64\eclipse\
artifacts.xml eclipse.exe epl-v10.html p2\
配置\eclipse.ini功能\插件\
dropins\eclisec.exe notice.html自述文件\

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

还有一个选项:当我想要选择并继续时,我只需输入另一个“/”并继续选项卡。在我的状态行中看起来有点难看,但只需一次按键,我就不必离开家里的那一排。

我现在就是这么做的,但在我看来这是无效的。我想应该有更好的办法,对不起。我没有完全理解您的问题。请注意,ctrl-D具有相同的效果,但也会列出文件夹的内容。更一般地说,它将“列出与光标前面的模式匹配的名称”(请参阅:help cçu ctrl-D)。@François Thank mate!我更新了我的答案以反映您的建议嘿,还有一个:向下箭头也会这样做,并切换到所选目录中的wildmenu:)(向上箭头移动到父目录,请参阅:帮助“wildmenu”)
: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\