{vim} Makefile时的一有关制表符【tab】小问题

原创 2011年01月10日 20:15:00

    之前自己照着网上的模板简单编辑了vim的配置文件——位于家目录下的.vimrc,如下:


    结果在make的时候却出现如下的提示:


     我是一直觉得是我的配置文件有问题的,因为之前都没有出现过这种情况!网上搜罗了良久,虽然找到了更正这个问题的方法,但是还是没有找到通过更改.vimrc配置文件的方法来避免这个错误,这里作个标记 。如下对问题的解决过程作个简单的记录。

 

    问题的原因在这里 有详细的解释,这里 也有。大致是因为make在读取Makefile的过程中不能解析其中包含的内容。 GNU make在读取Makefile时根据各种分隔符(:, =, [TAB]字符等)来识别Makefile的每一行内容。如上错误意味着make不能发现一个合法的分隔符。出现这些错误信息的可能原因(或许是编辑器,绝大部分是ms-windows的编辑器)在Makefile中的命令之前使用了4个(或者8个)空格代替了[tab]字符。因为makefile中所有的命令行都应该是以[tab]字符开始的。

 

    我在写Makefile文件的时候明明是已经用上了[tab]的,为了验证下便用od命令查看我的Makefile文件如下:


    发现我键入的[tab]制表符已经被编辑器自动替换成了4个空格!在这里 找到了解决这个问题的答案,即通过在 vim编辑模式下组合“ ctrl + v + i ”来写入一个 tab键。重新make下,运行正确。再次以ASCII码的格式查看我的Makefile文件发现原先的4个空格已被 “ /t ”取代,如下:


 

注:问题虽然解决,但是并不彻底。我不可能以后每次写Makefile的时候都用那组合键 “ ctrl + v + i ”來键入每个[tab]键吧?! 所以,还得继续寻找问题。如今学得还不够,就先这么“半截子”记录下。


2011.1.10 修正

    找到原因了,只需要将在.vimrc中的最后一行的配置命令注释掉即可! 一看便知。

 

Makefile时的一有关制表符【tab】小问题

    之前自己照着网上的模板简单编辑了vim的配置文件——位于家目录下的.vimrc,如下: Code: 1 "      2 set hlsearch "high light sear...
  • lianbch
  • lianbch
  • 2011年01月10日 20:52
  • 5263

使用VIM编写Makefile时如何避免tab被扩展成4个空格

一般写代码的时候,都将tab键转换成4个空格(通过set expandtab命令) 不过,写Makefile的时候,tab有特殊含义——表明这行是规则,不是目标——不能转换成空格 但是执行...

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

通常我们为了使vim作为更强大的IDE,会对vimrc文件加以配置(如将TAB键自动转换为4个空白键)。但正是由于将tab键转换为n个空白键,使得用vim编写的Makefile中不存在tab键(即“\...

Vim编程下自创Makefile模板

前言        一直都对Linux和Vim情有独钟,其实windows也很不错,因为工作上难免有些情况只能使用windows进行开发,包括有些API或者SDK都只有windows版本,只是用Lin...

使用doxygen排版数学公式出错的解决方法

问题今天玩了一下doxygen,碰到一个问题! Undefined control sequence. l.77 $ y_{\mbox{test}} = \mathbb ...

linux 修改vim和gedit编辑器,是tab键(制表符)移动4个空格

参考: http://bbs.csdn.net/topics/220068519 http://blog.sina.com.cn/s/blog_6f6c0f3501016hb8.html ...

TabLayout的Tab切换时文字大小问题

在Tab切换时可以设置Tab的文字颜色,但是现在需要同时改变Tab的字体大小。如上图,设置颜色的变化用tabSelectedTextColor就可以了,但是设置TextSize的选中与非选中状态的方法...

组织多目录的 Makefile 和一些小问题

简单的程序,用一些标准的 Makefile 就可以解决所有问题。 一般过于复杂的系统,可以使用 autoconf 和 automake 来解决问题。 对于一些不大不小的项目,就需要稍微深入的了解 ...

VS项目迁移到linux环境中Makefile相关小问题集锦

背景有些库只能在linux环境中运行,导致的结果,就是整个项目需要迁移到linux的环境,所以需要Makefile.过程关于Makefile的修改分为了三个阶段,由Makefile.am和Makefi...
  • ytang_
  • ytang_
  • 2017年11月21日 21:47
  • 58

【转】vim的制表符和空格符

原文转自【http://my.oschina.net/captaintheron/blog/5157?from=rss】 很苦恼python这个东西是严格缩进的,但是我在linux下用vim...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:{vim} Makefile时的一有关制表符【tab】小问题
举报原因:
原因补充:

(最多只允许输入30个字)