Yaml 换行符don';你不会在亚马尔出现吧?

Yaml 换行符don';你不会在亚马尔出现吧?,yaml,minecraft,Yaml,Minecraft,我正在查看一个数据库的YAML配置文件,我看到的只是一大堆文本。但是,我注意到,如果我使用键盘上的箭头键四处导航,偶尔会出现光标卡住的地方,需要我按两次箭头键,而不是一次。我目前假设这是一个只有YAML解析器才能读取的换行符。当我通过按ENTER键强制换行时,YAML解析器不再理解配置文件。如果不使用非windows程序,如何克服此限制?此换行符的十六进制值为0A 根据要求,可以在下面的链接中找到当前YAML文本的外观和我希望它的外观的片段(由于StackExchange对缩进的使用有限。请注

我正在查看一个数据库的YAML配置文件,我看到的只是一大堆文本。但是,我注意到,如果我使用键盘上的箭头键四处导航,偶尔会出现光标卡住的地方,需要我按两次箭头键,而不是一次。我目前假设这是一个只有YAML解析器才能读取的换行符。当我通过按ENTER键强制换行时,YAML解析器不再理解配置文件。如果不使用非windows程序,如何克服此限制?此换行符的十六进制值为0A


根据要求,可以在下面的链接中找到当前YAML文本的外观和我希望它的外观的片段(由于StackExchange对缩进的使用有限。请注意,对于游戏的配置,这是两个不同的文件。解析器的API为



我还注意到,第二个链接可能会将其显示为YAML文件,因为它将换行符注册为换行符。不过,下面的区块可能会让您了解它在我看来是什么样子

RWtorchLight:MYCRAFTisbest制作的1.2版 缩进1:“” 注意:'元数据值是:'后面的数字' 例如:黑色羊毛,将35个放在Light_块中,15个放在元数据中 轻铁大厦:89 Meta_Deta_LB:0 重要提示:火炬和靴子还不能与元数据兼容 火炬U项目:50 头盔_项目:314 启动项目:317 缩进2:“” 火炬用途:正确 头盔用途:正确 Boot\u用法:true T-or-T模式:佩戴南瓜和以下所有功能时会产生昏暗的光线 不给糖就捣蛋模式:真 饼干的机会是指“不给糖就捣蛋”者得到糖果的频率 设置为:““0”表示不可能” 成功的机会:5000 C中的N:“当收到Cookies时,将随机选择一个介于1和#之间的数字” 曲奇数目:5


背景

在查看您的问题和评论中的相关讨论后,一种可能的情况是您的YAML文件被以下任何一种方式损坏:

  • notepad.exe
  • 您的FTP/SFTP/网页/用于上传文本的任何内容;或
  • 以上两者的结合
问题

YAML语法对空格和缩进敏感,不建议使用MSFT notepad.exe,因为它可能不支持YAML文件中指定的编码

由于YAML使用空格来分隔数据,因此对文本进行任何与原始YAML的原始编码和空格不一致的修改都可能导致文件无法使用

这是YAML的一个方面,它可能比JSON或XML等其他格式更脆弱

解决方案

使用其他编辑器,如Notepad++(如注释中所建议的),或者,如果您没有足够的权限安装其他文本编辑器,请使用联机文本编辑器,如editpad(http://www.editpad.org/)编辑YAML并将其保存到计算机上的本地文件

使用notepad.exe以外的文本编辑器将文件保存到本地计算机后,请使用不对文本应用任何类型的文本过滤器的选项上载文件

例如,一些网站从用户上传的文本中剔除字符,以防止数据损坏和安全风险

一步一步

  • 从一个已知的格式良好的YAML文件开始,例如您在“我希望配置看起来像什么”中指定的文件
  • 将其粘贴到Notepad++(本地计算机)或editpad(基于web的编辑器)中
  • 修改YAML文件,使其与所需设置相匹配
  • 将修改保存到原始文件
  • 通过SFTP或其他保留原始编码的方式上载文件

第一件事:这些字符是什么?请使用Hexeditor。在回答这个问题之前,没有必要做任何其他事情。@arkascha Hexeditor将其显示为0A,而普通空格是20.0x0A(10)是普通换行符,是的,确实是0x20(32)是一个空格字符。可能是因为使用YAML文本无法处理的“查看”应用程序的不同换行符编码存在问题:MS Windows与其他系统使用不同的换行符编码(始终使某些内容稍微不兼容对MS非常重要…).MS Windows使用
0x0A 0x0D
作为换行符,而其他系统(类似unix的系统)使用直接的
0x0A
。有关YAML定义,请参见此处:1)您使用的YAML解析器是什么?2) 您使用什么文本编辑器来查看YAML?3) 文本编辑器是否有在“Windows”和“Unix”行结尾之间切换的选项?4) 您确定YAML语法是格式良好的YAML吗?5) 你能在这里发布一段YAML吗?@dreftymac 1。我使用的是(是的,这是一个游戏,但它与编程有关)。2.如问题所述,文本编辑器是记事本(由Windows提供)。3.不,因为这是普通的记事本。如果我能够安装应用程序,我会安装Notepad++,因为这会使这个问题过时。4.我非常确定YAML的格式是正确的,正如在线YAML应用程序所检查的那样。5.我已经用当前和我希望它是一样的一个片段更新了这篇文章(注意它们是两个不同的文件)。谢谢你,我现在正在使用Editpad。然而,问题并不在于上传文件所用的任何东西都会损坏它。它仍然有效,只是我不喜欢在需要快速编辑文件时将其“聚集在一起”。啊,好吧,听起来不使用notepad.exe是解决方案?如果是这样,恭喜你,玩得开心!