关闭

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

标签: makefilevimccharacterubuntudelete
3595人阅读 评论(2) 收藏 举报
分类:

    之前自己照着网上的模板简单编辑了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中的最后一行的配置命令注释掉即可! 一看便知。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:56606次
    • 积分:1205
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:0篇
    • 译文:0篇
    • 评论:59条
    文章分类
    最新评论