如何通過ctrl-w-f
將下列路徑打開到新窗口?在Vim中高效地讀取路徑
路徑
/usr/masi/codes/11
的路徑指向一個文件11.tex
。 我需要使用11
而不是11.tex
,因爲當我輸入/包含文件時,我的LaTeX或pdflatex不能理解包含tex 的路徑。
可能的解決方案是
- 添加東西的.vimrc
- 使用不同或許
pdflatex
如何通過ctrl-w-f
將下列路徑打開到新窗口?在Vim中高效地讀取路徑
路徑
/usr/masi/codes/11
的路徑指向一個文件11.tex
。 我需要使用11
而不是11.tex
,因爲當我輸入/包含文件時,我的LaTeX或pdflatex不能理解包含tex 的路徑。
可能的解決方案是
pdflatex
在Vim的7.2,你可以設置suffixesadd爲下面.txt文件:
:set suffixesadd=.tex,.latex,.java
看到:help suffixesadd
謝謝你的回答!這正是我正在尋找的。 – 2009-09-16 06:19:29
看來你需要重寫CTRL-W_f添加一個擴展。 例如,您可以添加以下的TEX-文件類型插件:
nnoremap <buffer> <c-w>f :exe ':sp '.globpath('.', expand('<cfile>').'.*')<cr>
注意:這個映射是遠不夠完美。如果幾個匹配,它仍然需要全局保留,並且只保留一個文件(或沒有)。並支持不匹配的情況。
我不知道乳膠從它的側面回答,但我沒有看到讓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等不同的情況,您需要更復雜的功能,或者爲每個功能編寫不同的功能。
我使用vim 7.2,它確實可以使用默認設置。如果我很好地理解這個問題。 它適用於軟鏈接和硬鏈接。
你能解釋一下嗎? ctrl-w-f正在工作。 – Vereb 2009-09-15 19:36:35