爲++通常安裝在/usr/include/c++/4.x(Linux中)C標準報頭。由於大多數頭文件沒有任何擴展名(.h,.hpp等),因此vim無法將這些文件的格式識別爲C++。檢測文件類型C++標準頭用vim
我已經看到了所以這等question,但張貼在那裏的解決方案並沒有解決我的問題。其中一種解決方案涉及使用modeline
,但標準C++頭文件不包含vim友好籤名。相反,他們包括在第一行是這樣的:
// <algorithm> -*- C++ -*-
我想我可以爲了檢測文件類型搜索該模式(-*- C++ -*-
)。前面提到的SO問題中發佈的另一個解決方案實際上是朝着這個方向發展的答案建議使用:
au BufRead * if search('MagicPattern', 'nw') | setlocal ft=cpp | endif
,所以我試圖做:
au BufRead * if search('-*- C++ -*-', 'nw') | setlocal ft=cpp | endif
,但它不工作(即,未檢測到文件類型)。
是否可以使用該方法檢測文件類型?它是否存在任何插件或任何其他方式來解決這個問題?
請看問題「[如何使Vim從家當線檢測文件類型?](http://stackoverflow.com/q/8890668/254635)」 –