在Vim中有效地阅读PATH

时间:2009-09-15 18:32:32

标签: vim path

如何通过ctrl-w-f打开以下路径到新窗口?

路径

 /usr/masi/codes/11

PATH引用文件11.tex。 我需要使用11代替11.tex 因为我的LaTeX或pdflatex不能理解带有tex的PATH 当我输入/包含文件时。

可能的解决方案

  • 向.vimrc添加内容
  • 使用的方式可能不同pdflatex

4 个答案:

答案 0 :(得分:8)

在Vim 7.2中,您可以将suffixesadd设置为.txt,如下所示:

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

请参阅:help suffixesadd

答案 1 :(得分:1)

您似乎需要覆盖CTRL-W_f以添加扩展名。 例如,您可以在tex-ftplugin中添加以下内容:

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

注意:这种映射远非完美。它仍然需要通过glob和。*来保持一个文件(或者没有),如果有几个匹配的话。并支持不匹配案例。

答案 2 :(得分: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>

你可以将它放在一个ftplugin(带有nnoremap选项)中,将它限制在你的乳胶文件中。

注意:如果你想要涵盖不同的情况,例如gf,F,你需要一个更复杂的功能,或者只为每个功能编写不同的功能。

答案 3 :(得分:0)

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