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

如何使vim:source接受不同的行结尾?

发布时间:2020-12-16 01:35:32 所属栏目:安全 来源:网络整理
导读:在带有dos行结尾的 vimscript文件上使用 vim‘s:source命令会给我一些错误,它无法处理^ M个字符. ^ M字符是dos行结尾的一部分,但不是unix行结尾.所以它试图:使用unix文件格式来源文件. 问题是,我有:设置fileformats = unix,dos设置.打开和编辑文件时(不是
在带有dos行结尾的 vimscript文件上使用 vim‘s:source命令会给我一些错误,它无法处理^ M个字符.

^ M字符是dos行结尾的一部分,但不是unix行结尾.所以它试图:使用unix文件格式来源文件.

问题是,我有:设置fileformats = unix,dos设置.打开和编辑文件时(不是:source:-ing),没有行结束问题. Vim看到一个带有纯dos行结尾的文件,并且根据文件格式,它会相应地调整自身.

:help fileformats只给出dos系统上最基本的线索,如果你有:set fileformats = unix,dos,vim执行它应该使用的ad-hoc检测(并且作为一个不相关的细节,这个:源检测处理混合行结尾与打开文件不同).

我在一个现代的mac系统上,我如何得到它:源dos线结束文件?

这将在 :h :source_crnl讨论.

在包含Mac OS X的UNIX系统上,没有自动CRLF检测,并且行末的实际CR可能会引发错误,例如,在映射中.从帮助:

On other systems,Vim expects “:source”ed files to end in a <NL>. These always work. If you are using a file with <CR><NL> <EOL>s (for example,a file made on MS-DOS),all lines will have a trailing <CR>.

为了获得最佳兼容性,最好让Vim脚本文件始终使用NL换行符.这些将始终在任何地方工作,前提是脚本的第一行由于某种原因在CR中结束并且’fileformats’不为空(默认情况下它不为空).

简而言之,考虑将您的行结尾转换为LF.

(编辑:李大同)

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

    推荐文章
      热点阅读