加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么我需要vim在二进制模式为’noeol’工作?

发布时间:2020-12-15 09:10:36 所属栏目:安全 来源:网络整理
导读:这个问题是一个后续的 Work Around我用于“保存文件在vim,而没有在文件末尾的换行符强行添加”烦恼。 基本上我不能在我的.vimrc中使用set noeol,因为它没有! 它做它应该做的,但如果我编辑文件在二进制模式。 (vim -b文件而不是vim文件) 这是为什么? 反
这个问题是一个后续的 Work Around我用于“保存文件在vim,而没有在文件末尾的换行符强行添加”烦恼。

基本上我不能在我的.vimrc中使用set noeol,因为它没有!

它做它应该做的,但如果我编辑文件在二进制模式。 (vim -b文件而不是vim文件)

这是为什么?

反正在.vimrc有一个简单的偏好,不添加换行符在我编辑的每个单个文件?

此外,如果我开始编辑每个文件在二进制模式,我会遇到什么样的问题?到目前为止我还没有看到任何区别。

Vim“添加”到文件最后一行的末尾是“换行符”字符,不应该与“新行”混淆。

“换行”字符或更准确地“行结束”字符(< EOL>)意味着“在该点之后的任何内容必须被认为在另一行上”。利用该解释 – < EOL>是行终止符 – 文件的最后一行实际上是具有< EOL>的最后一行。

问题是大多数编辑器和IDE有不同的解释 – < EOL>是一个行分隔符,并且在逻辑上,默认不添加< EOL>在新文件的最后一行的末尾,并且当他们遇到< EOL>时,在真实的最后一行之后添加多余的“新行”。

简而言之,Vim不添加“新行”:其他编辑将其“换行”解释为(“错误”)为“新行”。

但你可以通过执行以下操作来解决这个问题:在你写文件之前,执行:set binary noeol如果你想要保持“< EOL> -free”。

然而,:’二进制’有很多关于危险的说:set二进制,所以我会说,把它“开”所有的时间听起来像一个坏主意。

为了说明不同的行为,这是当你尝试连接两个文件与< EOL&gt ;:

$ cat file1    $ cat file2         $ cat file1 file2

lorem ipsum    Le tramway jaune    lorem ipsum
dolor sit      avance lentement    dolor sit
amet           dans le             amet
                                   Le tramway jaune
                                   avance lentement 
                                   dans le

这是当您尝试连接两个文件而不< EOL&gt ;:

$ cat file1    $ cat file2         $ cat file1 file2

lorem ipsum    Le tramway jaune    lorem ipsum
dolor sit      avance lentement    dolor sit
amet           dans le             ametLe tramway jaune
                                   avance lentement 
                                   dans le

第一个行为是以某种方式预期的行为和为什么Vim和许多(如果不是大多数)UNIX-y程序默认为终止符解释和添加< EOL>字符在最后一行的结尾。

下面的图片显示了一个简单的文件,其中< EOL>使用nano创建(与Vim相同),并在Eclipse,TextMate,Sublime Text,Vim,XCode和TextEdit中打开。

(编辑)这个文件中没有第4行,并且正确显示文件的唯一编辑器是Vim。行号列的唯一目的是提供有关缓冲区的信息。显示4行,其中只有3是一个严重的错误。 (结束)

此图片显示另一个简单文件,但不包含< EOL>用Sublime Text创建并在相同的编辑器/ IDE中打开。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读