2010-06-07 66 views
0

我在尝试让vim展开光标下的文件名时遇到问题。例如:Vim不扩展<cfile>

include("../path/file.php"); 

当光标在文件名和I型gf的file.php打开就好了。但是,当我以这种方式在vimrc中重新映射gf命令时:map gf :tabnew <cfile><CR>,那么不是在新选项卡中打开该文件,而是打开一个空文件gf

任何想法我做错了什么?

+0

将您的'标记更改为',格式将被修复。 – 2010-06-07 19:21:07

+1

我冒昧地为您解决格式问题。 – 2010-06-07 19:35:10

+0

谢谢,弥敦! – Amati 2010-06-07 20:09:07

回答

5

应该是。

:nnoremap gf :exe 'tabnew '.expand('<cfile>')<cr> 
+0

谢谢,吕克,但结果是相同的 - 空白文件。 – Amati 2010-06-07 19:03:30

+0

然后当前&路径可能不与光标下的文件名称“兼容”。 – 2010-06-07 19:35:14

+0

是的,这就是我最终想到的。我认为,当你编辑一个文件时,当前路径被自动设置为文件路径,但显然情况并非如此。只有在我手动执行了':cd/correct_path'之后,'gf'才开始工作。 – Amati 2010-06-07 20:08:35

1

如果我有以下目录结构:

~ 
|- ./foo/ 
|  `-- bar.php 
`- ./baz/ 
     `-- bang.php 

..和在bang.php:<?php include('../foo/bar.php'); ?>

这种映射正常工作对我来说::nnoremap gf :tabe <cfile><cr>。文件〜/ foo/bar.php在单独的选项卡中打开。