我正在寻找一种方法来确定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