Vim打开光标下的文件

7

可能是重复问题:
在Vim中打开光标下完整路径的文件

假设我有以下文件树:

/
  include/
    library/
      a.hpp
      b.hpp
  src/
    a.cpp
    b.cpp

以下是/src/a.cpp文件:

#include "a.hpp"
#include "b.hpp"

我总是在根目录下打开Vim。所以当我想要加载a.hpp时,我会执行以下操作:

:tabnew include/library/a.hpp

或者:

:tabnew **/a.hpp

我希望将 <F4> 键映射为在新标签页中打开光标下的文件,并使用递归搜索。
我尝试了以下映射命令:
:map <F4> :tabnew **/expand("<cfile>")<cr>

但是显然,这样做不行,因为它试图打开文件"/expand("

你有什么线索可以帮我解决这个问题吗?

谢谢。

1个回答

4

:help gf 提供了如何完成这个操作的提示。

:nmap <F4> :tabe **/<cfile><cr>

在映射中,<cfile> 似乎会自动展开。


这是行不通的(也不起作用),因为 <cfile> 是由 :execute 命令评估的,而不是在使用映射时评估。 - ereOn
哎呀,你说得对。当光标在你的测试用例上时定义地图可以正常工作 ;) - Randy Morris
我刚刚发现了这个问题,然后看到了你的编辑!不管怎样,还是谢谢你;) 我会接受那个修改。 - ereOn
1
我已经清理了这个答案,以便将来的搜索中删除不正确的信息。 - Randy Morris
1
我会使用<C-w>gf - A B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接