该问题出现是因为:makefile使用tab来作为分隔符(separator)。如果你使用4个空格就会报错:makefile:n: *** missing separator. Stop,其中n是第几行。
当我们打开/etc/vim/vimrc文件时,会发现我们已经设置了
set autoindent
set cindent
set smartindent
set softtabstop=4
set tabstop=4
set shiftwidth=4
set expandtab
问题出现在我们也设置了
set expandtab
因为"set expandtab"会将TAB转换成空格。在写makefile文件的时候就会报错。设置为如下就不会报错了:
set noexpandtab
或者:
if has("autocmd")
autocmd BufRead,BufNewFile *.c,*.h set expandtab
endif