命令模式下的vim路径完成

时间:2018-05-04 04:39:19

标签: vim complete

在vim中,如果你点击:e <tab><tab>,vim就会完成一些路径。

但是,我想打开a/b/c/d.cpp,中风:e <tab><tab>并找到AA

我想找到AA的子目录。或者,我点击/键。

示例:e AA//BB//CC//DD.cpp

还有另一种好方法吗?总之,我想知道命令:e中的子目录的完整路径。

2 个答案:

答案 0 :(得分:2)

命令行完成允许您使用通配符。

基本*表示“任何字符”:

:e *<Tab>          " similar to plain <Tab>
:e foo*<Tab>       " completes only files starting with 'foo'

发烧友**表示“任何子目录”:

:e **/<Tab>        " completes every file under every subdirectory
                   " of the current working directory
:e **/*foo<Tab>    " completes every file ending with 'foo' under every subdirectory
                   " of the current working directory

请参阅:help file-searching

顺便说一下,它是“命令行模式”。 “命令模式”只是“普通模式”的另一个名称。

答案 1 :(得分:1)

此答案基于您希望选择正确文件进行编辑的路径的假设。

我可以建议在正确设置路径后使用:find。这样可以节省大量的打字费用。

您可以先设置:set path+=**(这也会搜索子目录)。现在你可以简单地做

:find d.cpp

vim会为你做剩下的事。它将找到d.cpp的路径并打开它。 有什么好处是允许使用通配符,例如,:find d.*:find *.cpp

如果您不想使用find并继续使用edit,可能对:set wildmenu有用。这将显示您可以使用 tab

进行迭代的所有可用选项