2009-09-15 94 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,它確實可以使用默認設置。如果我很好地理解這個問題。 它適用於軟鏈接和硬鏈接。