在vim中检测文件类型而没有有效的文件扩展名

我正在寻找一种方法来确定 vim文件文件类型,并根据文件类型设置语法高亮.唯一的问题是我无法使用文件扩展名来确定文件类型.

这是我的场景:我使用vimdiff或gvimdiff作为我的P4DIFF工具,它显示本地副本中的文件与perforce服务器中的文件间的更改. Perforce似乎将perforce服务器中的文件引入/ tmp目录并使用PID命名文件,例如:

/tmp/tmp.24673.23

这是一个C源文件.

我在perforce存储库中遇到的最常见的文件类型是C/C++源和头文件,Makefile,python脚本,perl脚本,ruby脚本和tcl脚本.

>我已经研究过使用模式,但是我们树中的大多数源都没有嵌入文件中的这些信息.
> This帖子提到了一种可能的搜索方法并确定了一种神奇的模式.我找不到任何一致的魔术模式,我可以获得很高的成功率.
>尝试在我的linux盒子上使用文件二进制文件来查看我得到的结果.它似乎很好地识别了C/C++源,但是Makefile甚至python脚本(没有hashbang)都失败了

一个好处是,在比较的2个文件中,右边的文件来自我的本地副本,因此具有带扩展名的正确文件名,因此右侧的文件正确启用了语法突出显示.

有没有办法可以利用它为左侧显示文件设置相同的语法高亮显示

对此问题的任何替代解决方案也是受欢迎的.

这是一个有趣的难题.

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...