[笔记]给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。我们只需要用文件名来代表,无需后缀。
浙公网安备 33010602011771号