GNU Octave 和 Matlab 共享.m
后缀,但 Octave 的语法略有不同,例如允许#
作为注释。
我创建了一个scripts.vim
,但由于文件类型已设置为 Matlab,因此它不会被调用。
这是我使用的代码片段,它可以工作,但它永远不会被执行,~/.vim/scripts.vim
或者如果我把它放入~/.vim/ftdetect/octave.vim
if getline(1) =~ '^#!/.*octave'
set filetype=octave
endif
我可以在哪里设置这个代码?
答案1
我现在就可以使用它了filetype.vim
:
" ~/.vim/filetype.vim
if exists("did_load_filetypes")
finish
endif
function! DetectOctave()
echom getline(1)
if getline(1) =~ '^#!/.*octave.*'
set filetype=octave
endif
endfunction
augroup filetypedetect
au! BufRead,BufNewFile *.m call DetectOctave()
augroup END