vim、gvim添加不识别的文件类型

时间:2022-01-15 00:55:07
最近在学习karrigell,里面有.ks、.pih、.hip等文件类型,用vim编辑的时候,vim不识别这些文件类型。查阅了vim文档,总结了以下几种让增加vim不识别的文件类型的方法:


一、使用命令

.ks和.hip其实是python文件,.pih其实是html文件,在编辑的时候可以使用

set filetype=python

set filetype=html

来让vim调用相应的语法文件。


二、修改filetype.vim文件

filetype.vim文件结构为:

……

augroup filetypedetect

……

augroup END

在augroup filetypedetect到augroup END之间为文件类型定义。

找到au BufNewFile,BufRead *.py,*.pyw那行,将其修改为au BufNewFile,BufRead *.py,*.pyw,*.ks,*.hip
找到au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm那一行,将其修改为au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm,*.pih

就增加了.ks、.pih、.hip等文件类型识别了。

至于karrigell里新增的如Include、Session等需要高亮的关键词,可以直接修改syntax文件夹里的python.vim文件,在文件里添加相应的词就行了。

注:vim能够识别.ks文件,是作为KDE script文件,如果要当作python文件来识别,需要把au BufNewFile,BufRead *.ks那一行注释掉,上述修改才会起作用。


三、添加新的语法文件

syntax文件夹里都是vim的文件类型定义文件,可以按照类似的语法文件写一个,然后在filetype.vim增加文件类型。






=========================================================================================================

  今天在工作中发现我打开.js 可以识别成javascript文件,并且置为高亮。而打开.jsm 没有这种功能,使用上挺不方便的。通过Google一下,发现只要在 ~/.vimrc 里稍微设置下,就可以了。

  添加一句就可以把jsm 文件识别为javascript文件了。

  "set new file extension jsm as javascript file.

  au BufNewFile,BufRead *.jsm set filetype=javascript