2

正如 vim doc 所说,我可以使用-b选项打开二进制文件。


-b      Binary mode.  File I/O will only recognize <NL> to separate
        lines.  The 'expandtab' option will be reset.  The 'textwidth'
        option is set to 0.  'modeline' is reset.  The 'binary' option
        is set.  This is done after reading the vimrc/exrc files but
        before reading any file in the arglist.  See also
        |edit-binary|.  {not in Vi}

我使用这个命令打开 vim:

$ vim --cmd 'set et' -u NONE -b

我键入此命令以查看选项:

:set et? bin?

  expandtab
  binary

( et)expandtab选项未重置。为什么?
谢谢你的帮助!

4

1 回答 1

1

问题很简单,就是+cmd在处理其他标志之后执行 --cmd -c 或参数。这是有道理的,因为否则它不会有效地做任何事情。

 :verbose set et?

会告诉你的。如果您需要针对特定​​样本的解决方法vim +'set binary'(不太可能因为 et != binary)

您在 --cmd 的文档上是正确的。所以它归结为解释命令行标志的顺序,这基本上是“未定义的”。虽然

这是在读取 vimrc/exrc 文件之后但在读取 arglist 中的任何文件之前完成的

可以理解为“在处理其他命令行参数之前”。

注意“+”命令本质上与特定文件一起使用,并且按照它们出现的顺序(AFAICT)进行处理,即使与文件名参数混合时也是如此。

于 2012-06-11T11:07:49.680 回答