解决vim写的Makefile报错:Makefile: missing separator(did you mean TAB instead of 8 spaces?). Stop.

通常我们为了使vim作为更强大的IDE,会对vimrc文件加以配置(如将TAB键自动转换为4个空白键)。

但正是由于将tab键转换为n个空白键,使得用vim编写的Makefile中不存在tab键(即“\t”)了。恰恰Makefile中以tab键作为命令行的起始标记

所以现在找到了报错的原因,即tab键被替换为空白键了。
解决方法
在/etc/vim/vim73/vimrc中加入下列配置行(也可在HOME目录下的vimrc中配置):

autocmd FileType make set noexpandtab


例如,我的vimrc部分配置如下:

set expandtab "使用空格替换tab.  
set tabstop=4
set shiftwidth=4

"autocmd FileType makefile set noexpandtab 试了这一条,没有起作用
autocmd FileType make set noexpandtab "这一条最终起作用了

set autoindent
set cindent

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...