为什么 `set binary` 会重置 `expandtab` 属性?
Why does `set binary` reset `expandtab` property?
在 Vim 中,为什么在 set expandtab
之后包含 set binary
取消设置 expandtab?我是第一次遇到这个问题,这里是另一个 SO 用户在过去遇到同样问题的评论:How can I find out why vim keeps changing my expandtab setting
因为在二进制文件的上下文中将制表符扩展为空格几乎总是错误的:
- 制表符可能根本不代表空格;它们可能只是恰好是
\t
的字节。展开会改变意思。
- 可能需要保留文件中的偏移量,而
expandtab
不需要。
- 编辑二进制文件时,任何类型的自动空白操作几乎没有实际好处;假定二进制文件主要是 binary 而不是文本,因此缩进之类的东西一开始就不是问题。
在 Vim 中,为什么在 set expandtab
之后包含 set binary
取消设置 expandtab?我是第一次遇到这个问题,这里是另一个 SO 用户在过去遇到同样问题的评论:How can I find out why vim keeps changing my expandtab setting
因为在二进制文件的上下文中将制表符扩展为空格几乎总是错误的:
- 制表符可能根本不代表空格;它们可能只是恰好是
\t
的字节。展开会改变意思。 - 可能需要保留文件中的偏移量,而
expandtab
不需要。 - 编辑二进制文件时,任何类型的自动空白操作几乎没有实际好处;假定二进制文件主要是 binary 而不是文本,因此缩进之类的东西一开始就不是问题。