2011-08-05 42 views
2

當我編寫beamer tex幻燈片演示文稿時,我對tex文件類型進行了一些修改,我希望通過它默認在投影儀文件上。根據文件擴展名和前幾行內容修改tex文件類型,創建Vim文件類型

當我創建它有一個.tex文件擴展名和行像在第幾行下面的一個投影儀的文檔:

\documentclass[...]{beamer} 

爲了簡單起見,我們可以說,有.tex擴展名的文件和文本beamer前5行中的任意位置應該默認爲文件類型beamer

  • 我怎麼能自動設置使用來自文件的擴展名和文件的最初幾行雙方的信息文件類型爲beamer

通常情況下,制定問題的過程已導致我到:h new-filetype-scripts,但這仍然需要相當數量的解密。任何提示將是最受歡迎的。

回答

2

根據你所指出的幫助文章,你需要創建一個 scripts.vim文件在你的vim運行時目錄的內容,看起來像這樣 :

if did_filetype() 
    finish 
endif 

if expand('%:e') == 'tex' 
    for n in range(1, 5) 
    if getline(n) =~ 'beamer' 
     setfiletype beamer 
     break 
    endif 
    endfor 
endif 

有趣的是,這並不爲工作我。我設法把它在ftplugin/beamer.vim和改變它有點如下做到這一點:

for n in range(1, 5) 
    if getline(n) =~ 'beamer' 
    set filetype=beamer 
    break 
    endif 
endfor 

每當tex文件類型被加載時,具體的投影儀,東西被採購的爲好。我建議先嚐試scripts.vim的方法,並考慮第二個,如果你不能以這種方式工作。

+0

謝謝,我會給它一個。 –

0

我仍然在嘗試,但初步的解決方案似乎是一個被稱爲beamer.vim文件添加到~/.vim/ftdetect使用下面的命令:

au BufRead,BufNewfile *.tex if getline(1) =~ 'beamer' | set filetype=beamer.tex | endif 

注意,我從規範簡化了命令略高於和文件類型beamer.tex合併了tex特徵和我的beamer定製。

相關問題