Search code examples
stringsyntaxyamlnewline

How do I break a string in YAML over multiple lines?


I have a very long string:

Key: 'this is my very very very very very very long string'

I would like to express it over multiple shorter lines, e.g.,

Key: 'this is my very very very ' +
     'long string'

I would like to use quotes as above, so that I don't need to escape anything within the string.


Solution

  • Using yaml folded style. The indention in each line will be ignored. A line break will be inserted at the end.

    Key: >
      This is a very long sentence
      that spans several lines in the YAML
      but which will be rendered as a string
      with only a single carriage return appended to the end.
    

    http://symfony.com/doc/current/components/yaml/yaml_format.html

    You can use the "block chomping indicator" to eliminate the trailing line break, as follows:

    Key: >-
      This is a very long sentence
      that spans several lines in the YAML
      but which will be rendered as a string
      with NO carriage returns.
    

    In either case, each line break is replaced by a space.

    There are other control tools available as well (for controlling indentation for example).

    See https://yaml-multiline.info/