我正在尋找一種方法來確定vim中文件的文件類型,並根據文件類型設置語法高亮。唯一的問題是我無法使用文件擴展名來確定文件類型。在vim中檢測文件類型時沒有有效的文件擴展名
這是我的情況:我用vimdiff
或gvimdiff
作爲我P4DIFF
工具,它顯示了在我的本地副本的文件,並從Perforce服務器的那些之間的變化。 Perforce公司似乎在文件中把從Perforce服務器到/ tmp目錄,並使用PID
命名文件,例如:
/tmp/tmp.24673.23
這是一個C++源文件。
我在perforce資源庫中遇到的最常見的文件類型是C/C++源代碼和頭文件,Makefiles,python腳本,perl腳本,ruby腳本和tcl腳本。
我已經研究過使用
modeline
,但大部分在我們的樹的來源沒有嵌入到文件中的信息。This提到了一種可能的搜索和識別魔法模式的方法。我找不到任何一貫的魔法模式,我可以獲得高成功率。
嘗試在我的Linux機器上使用
file
二進制文件來查看我得到的結果。看來,以確定C/C++源代碼很好,但失敗了的Makefile,甚至Python腳本(這沒有hashbang)
一個好處是,2個文件進行比較,該文件中右側是來自本地副本,因此具有帶擴展名的正確文件名,從而正確啓用右側文件的語法高亮顯示。
有沒有一種方法可以利用它來爲左側顯示的文件設置相同的語法高亮顯示?
對此問題的任何替代解決方案也是受歡迎的。
非常好。我喜歡'2/winnr()'技巧! – 2013-03-12 22:52:21
酷!這真的很好......只是將if-endif移到一個函數中,並用該函數的調用替換了該命令。 :) – Tuxdude 2013-03-12 23:31:47