2009-09-15 72 views
1

如何通过ctrl-w-f将下列路径打开到新窗口?在Vim中高效地读取路径

路径

/usr/masi/codes/11 

的路径指向一个文件11.tex。 我需要使用11而不是11.tex ,因为当我输入/包含文件时,我的LaTeX或pdflatex不能理解包含tex 的路径。

可能的解决方案是

  • 添加东西的.vimrc
  • 使用不同或许pdflatex
+0

你能解释一下吗? ctrl-w-f正在工作。 – Vereb 2009-09-15 19:36:35

回答

8

在Vim的7.2,你可以设置suffixesadd为下面.txt文件:

:set suffixesadd=.tex,.latex,.java 

看到:help suffixesadd

+0

谢谢你的回答!这正是我正在寻找的。 – 2009-09-16 06:19:29

1

看来你需要重写CTRL-W_f添加一个扩展。 例如,您可以添加以下的TEX-文件类型插件:

nnoremap <buffer> <c-w>f :exe ':sp '.globpath('.', expand('<cfile>').'.*')<cr> 

注意:这个映射是远不够完美。如果几个匹配,它仍然需要全局保留,并且只保留一个文件(或没有)。并支持不匹配的情况。

1

我不知道乳胶从它的侧面回答,但我没有看到让Vim寻找具有扩展名的路径的设置,因此您将不得不创建自定义映射。不幸的是,没有与gf和f风格的命令等价的命令行,所以你必须模仿相同的东西(对不起,未经测试)。

function! OpenFile() 
    try 
    exec "normal! \<C-W>f" 
    except 
    if filereadable(expand('<cfile>').'.tex') 
     split <cfile>.tex 
    endif 
    endtry 
endfunction 
nnoremap <silent> <C-W>f :call OpenFile()<CR> 

你可以把这个在文件类型插件(与选项nnoremap)将其限制到只有你的乳胶文件。

注意:如果您想要覆盖诸如gf,F等不同的情况,您需要更复杂的功能,或者为每个功能编写不同的功能。

0

我使用vim 7.2,它确实可以使用默认设置。如果我很好地理解这个问题。 它适用于软链接和硬链接。