在vim中,如果你点击:e <tab><tab>
,vim就会完成一些路径。
但是,我想打开a/b/c/d.cpp
,中风:e <tab><tab>
并找到AA
。
我想找到AA
的子目录。或者,我点击/
键。
示例:e AA//BB//CC//DD.cpp
还有另一种好方法吗?总之,我想知道命令:e
中的子目录的完整路径。
答案 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