为什么`set binary`重置`expandtab`属性?

时间:2015-01-04 21:02:25

标签: vim

在Vim中,为什么在set binary取消设置expandtab后包括set expandtab?我刚刚第一次遇到这个问题,这是过去另一个SO用户发表同样问题的评论:How can I find out why vim keeps changing my expandtab setting

1 个答案:

答案 0 :(得分:4)

因为在二进制文件的上下文中将制表符扩展到空格几乎总是错误的:

  1. 标签可能根本不代表空格;它们可能只是恰好是\t的字节。扩张会改变其含义。
  2. 可能需要保留文件的偏移量,而expandtab不会这样做。
  3. 编辑二进制文件时,任何类型的自动空格操作都没有什么实际好处;假设二进制文件主要是二进制而不是文本,因此缩进之类的内容不是问题。