转到vim中的新文件

时间:2015-03-16 02:09:10

标签: vim

在vim中,我可以输入' gf'转到光标下的文件路径,但如果该文件不存在,我收到错误。

有没有办法打开一个用光标下的单词命名的新文件?理想情况下,我希望在新标签页中打开此缓冲区。

修改 noremap gf :tabe <cfile><CR>是一个很好的建议,但我希望还有一种实现此映射的方法并利用suffixesadd设置。

2 个答案:

答案 0 :(得分:3)

:help gf

的帮助下
If you do want to edit a new file, use:
        :e <cfile>
To make gf always work like that:
        :map gf :e <cfile><CR>

如果您想在新标签页中将其打开,可以将:e更改为:tabe,这样您就可以

noremap gf :tabe <cfile><CR>

<cfile>被光标下的路径替换。


以下是一个尝试正常<c-w>gf的函数(在新选项卡中的光标下打开文件,尊重'suffixesadd'并检查文件是否存在),如果失败则只打开文件在新标签中的光标下。

function Gf()
    try
        exec "normal! \<c-w>gf"
    catch /E447/
        tabedit <cfile>
    endtry
endfunction

noremap gf :call Gf()<CR>

答案 1 :(得分:0)

使用:e <filename>编辑文件,无论文件是否存在。