[笔记]给ExVim添加文件类型

参考自:https://groups.google.com/forum/?fromgroups=#!topic/exvim/C5W3FXzE0Tk

我打算在我的ExVim工程中默认能够加入(通过"\R"命令)后缀为*.asm(NASM语法高亮),*.inc(NASM语法高亮),*.s(GAS AT&T语法高亮),*.ld(Linker Scripts语法高亮)以及无后缀的Makefile(Makefile语法高亮)的文件。 

我在exdev\tools\exvim目录下的.vimrc添加的:

call exUtility#AddLangMap ( 'exvim', 'nasm', ['asm','ASM'] )
call exUtility#AddLangMap ( 'exvim', 'nasm', ['inc','INC'] )
call exUtility#AddLangMap ( 'exvim', 'asm', ['s','S'] )
call exUtility#AddLangMap ( 'exvim', 'ld', ['ld','LD'] )
call exUtility#AddLangMap ( 'exvim', 'make', ['NULL'] )

call exUtility#AddLangMap ( 'ctags', 'nasm', ['asm','ASM'] )
call exUtility#AddLangMap ( 'ctags', 'nasm', ['inc','INC'] )
call exUtility#AddLangMap ( 'ctags', 'asm', ['s','S'] )
call exUtility#AddLangMap ( 'ctags', 'ld', ['ld','LD'] )
call exUtility#AddLangMap ( 'ctags', 'make', ['NULL'] )

将相应的后缀名*.ld,*.asm,*.s...关联到相应的文件类型ld,nasm,asm(这里默认指gas语法)...

其中,由于make类型(Makefile,makefile)没有后缀名,用"NULL"来表示无后缀名。

" default languages
let g:ex_default_langs = ['c', 'cpp', 'c#', 'javascript', 'java', 'shader', 'python', 'lua', 'vim', 'uc', 'matlab', 'wiki', 'ini', 'make', 'sh', 'batch', 'debug', 'qt', 'swig','asm','nasm','ld']

在default languages列表中将我们添加的类型加入。

 

在exdev\tools\exvim\vim73目录下的filetype.vim添加语句,使得ExVim可以自动将*.asm *.inc等等后缀的文件关联到相应语法高亮。

" makefile
au BufNewFile,BufRead NULL     setf make

" ld scripts files
au BufNewFile,BufRead *.ld     setf ld

" nasm assembly files
au BufNewFile,BufRead *.asm     setf nasm

" nasm header files
au BufNewFile,BufRead *.inc     setf nasm

ExVim支持用"NULL"来定义无后缀的Makefile之类的文件("NULL"必须为大写)。在这个文件中使用的make,ld..名字.必须在exdev\tools\exvim\vim73\syntax文件夹下有相应的语法高亮文件,例如nasm.vim。我们只需要用文件名来代表,无需后缀。

posted @ 2012-10-23 18:03  zysyyz  阅读(535)  评论(0)    收藏  举报