여러 번의 흐름선 문자열으로 분할합니다 어떻게 합니까?

Yaml 의 나는 문자열으로 that& # 39 의 아주 길다. I want to keep my 편집기에는 (또는 그) 이 80 컬럼의 내의 보기입니다 도왔으매 i& # 39; d like to break the 구체화하십시오. # 39 의 문법은 what& 엔드입니다?

즉, 내가 다.

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

d # 39 이 그런겁니다 I& 및 (또는 한, 이 효과는):

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

39 위와 같은, 그래서 don& i& 따옴표 사용, d, t need to # 39 이스케이프입니다 내의 모든 구체화하십시오.

S&gt 5&lt /s&gt &lt 있습니다;;;; &lt s&gt 6&lt /s>;;; (또는 63* 방식에 따라 카운트입니다) 9 행 문장열 YAML 의 여러 가지 방법을 쓰기.

TL; DR

  • 보통 &gt 운영까지도 ',':

키: &gt. 네 기절해있는 구체화하십시오 삽입하십시오.

  • 줄 바꿈 '\n' 로 하려면 보관할 수 있는 문자열 (예를 들어 있는 임베드된 가격인하 단락) 을 사용하여 ''.

키:

제목

  • 글머리표

  • 방향점

  • '-' 또는 '-' &gt, 대신 사용할 경우, 한 끝에 선브레이크 don& # 39) 가 된 것입니다.

  • 분할하려면 하는 경우 말 그대로 '\n' 로 문자, 단어 또는 흐름선 중간에 큰따옴표 대신 사용할 줄 바꿈.

키: antidisestab\ &quot. lishmentarianism.\n\nGet 켜짐이 it.&quot.

  • YAML 은 미친.

블록 스칼라 스타일 (&gt ',', '')

이 같은 캐릭터는 ',' 와 '&quot 허용하시겠습니까 \' 탈출이라니요 및 추가 없이 새로운 라인 (' \n ') 를 통해 및끝 구체화하십시오.

  • [접힌 스타일] &gt ',' (http://www.yaml.org/spec/1.2/spec.html # id2796251) * 절감뿐만 문자열 내의 한 줄 바꿈 (단 한 번 줄 바꿈) 로 변환하여 자도으로 결국 싱글):
Key: >
  this is my very very very
  long string

이것은 아주 긴 string\n '' 내 생애

  • [ipv6-literal. 스타일] '' (http://www.yaml.org/spec/1.2/spec.html # id2795688) * 등을 추가로, 문자열 내의 모든 개행 문자 한 끝에 개행 ipv6-literal. 붙여넣습니다.
Key: |
  this is my very very very 
  long string

'이건 내 아주 very\nlong string\n'

39 의 공식 정의마다 here& 의 [YAML 사양명세 1.2] (http://www.yaml.org/spec/1.2/spec.html # id2760844)

블록 표기법을 사용하여, 스칼라 컨텐츠는 &gt 쓴 ipv6-literal. 스타일 (timerevent. "" 가) 의 위치를 모든 줄바꿈을 의미가 있다. 수도 있습니다 적힌 종이를 스타일 (삼는다 "으로 >") 여기서 끝낼 수 있는 공간으로 빈 종이를 한 줄 바꿈) 는 각 또는 더 밀어맞춤된 할말이다

블록 시켜버리므로 받기를 갈망 표시자가 블록 ('> -', '-', '+', '+' >)

모든 문자열의 최종 취급료 제어할 수 있습니다 (new line) 은 선 ('\n\n') 를 추가하여 공백일 [블록 받기를 갈망 표시등입니다] (http://www.yaml.org/spec/1.2/spec.html # id2794534) 문자:

  • ',', '&gt': clip&quot ";: 렉시한테서 빈 줄을 선 급지가 분리하십시오 뒤를 이었다. ',' - '*' &gt. -: strip&quot ";: 분리하십시오 빈 줄을 선 급지가 분리하십시오 뒤를 이었다.
  • &gt, '+', '+': keep&quot ";: 빈 줄을 선 급지가 계속, 계속 뒤를 이었다.

&quot Flow"; 스칼라 스타일 (',', '& # 39 &quot', ',')

이러한 탈출이라니요 제한되어 있으며, 새 줄 한 줄 문자열이어야 chunghwa 없는 자입니다. 그들은 같은 줄에 시작할 수 있는 추가적인 키 또는 줄 바꿈 이번이 처음이다.

Key: this is my very very very 
  long string
  • [이중 인용 스타일] (http://www.yaml.org/spec/1.2/spec.html # 스타일 / 흐름 / 이중 인용) * ('\' 및' &quot, '반드시 이스케이프된 의해' \', 줄 바꿈 삽입할 수 있는 ipv6-literal. e0100042.log, 줄 수 있는 '\n' 연결 () 은 '공백 없이 \'):
Key: "this is my very very \"very\" loooo\
  ng string.\n\nLove, YAML."

&amp 라르;; '이건 내 아주 \&quot very\&quot ";; 루오용 string.\n\nLove, YAML.&quot. '

  • [단일 인용 스타일] (http://www.yaml.org/spec/1.2/spec.html # 스타일 / 흐름 / 단일 인용) * (ipv6-literal. '& # 39,' 반드시 두배, 아니 특수 문자, 아마도 시작하는 데 유용한 문장열 큰따옴표):
Key: 'this is my very very "very"
  long string, isn''t it.'

&amp 라르;; '이건 내 아주 \&quot very\&quot ";; # 39, t, 긴 문자열이어야 isn& it.&quot. '

요약

이 테이블에 _' 고말은 '공간' 문자 '. 줄 바꿈 character&quot '\n' 고말은 "; ('\n' 의 JavaScript) 를 제외한 &quot 인-라인 newlines"; 말 그대로, 여기서 무슨뜻이냐믄 행일 백슬래시와 오버클로킹된 n).

                      >     |            "     '     >-     >+     |-     |+
-------------------------|------|-----|-----|-----|------|------|------|------  
Trailing spaces   | Kept | Kept |     |     |     | Kept | Kept | Kept | Kept
Single newline => | _    | \n   | _   | _   | _   | _    |  _   | \n   | \n
Double newline => | \n   | \n\n | \n  | \n  | \n  | \n   |  \n  | \n\n | \n\n
Final newline  => | \n   | \n   |     |     |     |      |  \n  |      | \n
Final dbl nl's => |      |      |     |     |     |      | Kept |      | Kept  
In-line newlines  | No   | No   | No  | \n  | No  | No   | No   | No   | No
Spaceless newlines| No   | No   | No  | \   | No  | No   | No   | No   | No 
Single quote      | '    | '    | '   | '   | ''  | '    | '    | '    | '
Double quote      | "    | "    | "   | \"  | "   | "    | "    | "    | "
Backslash         | \    | \    | \   | \\  | \   | \    | \    | \    | \
" #", ": "        | Ok   | Ok   | No  | Ok  | Ok  | Ok   | Ok   | Ok   | Ok
Can start on same | No   | No   | Yes | Yes | Yes | No   | No   | No   | No
line as key       |

사례

, 후행 공백을 기록하십시오 앞에 있는 줄에서 spaces.&quot &quot.

- >
  very "long"
  'string' with

  paragraph gap, \n and        
  spaces.
- | 
  very "long"
  'string' with

  paragraph gap, \n and        
  spaces.
- very "long"
  'string' with

  paragraph gap, \n and        
  spaces.
- "very \"long\"
  'string' with

  paragraph gap, \n and        
  s\
  p\
  a\
  c\
  e\
  s."
- 'very "long"
  ''string'' with

  paragraph gap, \n and        
  spaces.'
- >- 
  very "long"
  'string' with

  paragraph gap, \n and        
  spaces.

[
  "very \"long\" 'string' with\nparagraph gap, \\n and         spaces.\n", 
  "very \"long\"\n'string' with\n\nparagraph gap, \\n and        \nspaces.\n", 
  "very \"long\" 'string' with\nparagraph gap, \\n and spaces.", 
  "very \"long\" 'string' with\nparagraph gap, \n and spaces.", 
  "very \"long\" 'string' with\nparagraph gap, \\n and spaces.", 
  "very \"long\" 'string' with\nparagraph gap, \\n and         spaces."
]

블록이어야 함께 시켜버리므로 밀어맞춤 표시자가

39 위, t enough for you, 만일의 사태에 대비해 isn& &quot 추가할 수 있습니다. [블록 밀어맞춤 표시등입니다] (http://www.yaml.org/spec/1.2/spec.html # id2793979) &quot. (vora 표시자가 너회의 블록 받기를 갈망, 존재하는 경우):

- >8
        My long string
        starts over here
- |+1
 This one
 starts here

부록

공백 삽입할 경우 시작할 때 종이를 계속 받을 수 있는 스타일을 첫 번째 아님 줄을 보너스를 줄 바꿈. # 39 이 doesn& 시켜버리므로 흐름, 문제가 발생할 수밖에 없다.

- >
    my long
      string
- my long
    string

' [&quot ";; 내 long\n string\n&quot, 나의 오랜 string&quot]'

39, 내가 can& 못할 정도였습니다.

  • ''2 시켜버리므로 각각 2 블록 (또는 없음) 와 9 블록 받기를 갈망 표시자가 가능한 가능한 밀어맞춤 지표 (또는 없음), 1 일반 스타일과 2 인용 스타일: 2 x (2 + 1) x (9 + 1) + 1 + 2 = 63

이 정보 중 일부는 [here] 에서는 이미 요약되어 있습니다 (http://yaml-multiline.info/).

해설 (26)
해결책

Yaml 공간을 사용하여 종이를 스타일, 각 줄바꿈 바뀝니다. 이 들여쓰기는 각 행이 무시됨. 줄 바꿈 적립율은 삽입됨 끝에.

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

블록 받기를 갈망, indicator&quot &quot 사용할 수 있습니다. 줄 바꿈) 은 다음과 같이 없애기

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.

뿐만 아니라 다른 제어 도구를 사용할 수 있습니다 (예를 들어 밀어맞춤 제어하기 위한).

Https://yaml-multiline.info/ 참조

해설 (11)
      • ''* 사용할 줄 바꿈 유지하기 위해, 예를 들면 다음과 같습니다.
|
  This is a very long sentence
  that spans several lines in the YAML
  but which will be rendered as a string
  with newlines preserved.

이것은 매우 긴 마디였나 \n &quot 는 공감대를 형성하고, 여러 줄을 YAML \n 렌더링됩니다 스팬하는 근데 어떤 문자열으로 \n 함께 preserved.\n*&quo 줄 바꿈.

해설 (12)

1. 줄 바꿈 Notation: 공백 후, 기타 줄 바꿈 블록 (block 제거될 수 있게 됐다.

---
# Note: It has 1 new line after the string
content:
    Arbitrary free text
    over multiple lines stopping
    after indentation changes...

...
  • Avamer JSON *
{
 "content": "Arbitrary free text over multiple lines stopping after indentation changes..."
}

2. 는 임의의 스칼라 한 블록 Scalar: ipv6-literal. ipv6-literal. 블록이어야 버전과 하위 포함시키십시오 후행 독창적이다. 그러나 절감뿐만 추가

이후 블록이어야 줄 바꿈.

---
# After string we have 2 spaces and 2 new lines
content1: |
 Arbitrary free text
 over "multiple lines" stopping
 after indentation changes...  

...
  • Avamer JSON *
{
 "content1": "Arbitrary free text\nover \"multiple lines\" stopping\nafter indentation changes...  \n"
}

3 + 표시자가 ipv6-literal. 블록 Scalar: 렉시한테서 블록이어야 후 함께 추가 줄 바꿈.

---
# After string we have 2 new lines
plain: |+
 This unquoted scalar
 spans many lines.

...
  • Avamer JSON *
{
 "plain": "This unquoted scalar\nspans many lines.\n\n\n"
}

4. - 표시자가 ipv6-literal. 블록 Scalar: 함께 있다는 끝에 개행 문자 - 구체화하십시오 제거됩니다.

---
# After string we have 2 new lines
plain: |-
 This unquoted scalar
 spans many lines.

...
  • Avamer JSON *
{
 "plain": "This unquoted scalar\nspans many lines."
}

5. 종이를 블록 스칼라 (>)

그러나 이후 공백 및 추가 줄 바꿈 블록이어야 절감뿐만 거역한다면 배 줄 바꿈.

---
folded_newlines: >
 this is really a
 single line of text
 despite appearances

...
  • Avamer JSON *
{
 "fold_newlines": "this is really a single line of text despite appearances\n"
}

블로그 내 intel. com/performance/mobile/benchmarks. dell. 수 있습니다.

해설 (3)

하지만 YAML 할 수 있는 멀티 라인 키가 너무 믿지 않을 수 있습니다.

?
 >
 multi
 line
 key
:
  value
해설 (4)

백 슬래시 (escape) 와 함께 큰따옴표 사용, 긴 줄을 without whitespace 연결할 줄 바꿈.

key: "Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemp\
  orincididuntutlaboreetdoloremagnaaliqua."

(고마워 @Tobia)

해설 (3)

39 에 번역 및 작은 가지 경우에 대해, re you& YAML 사용하여 Javascript 를 사용하려면 심포니, 행 에 번역 (translation 직후 케리지리턴 추가됩니다. 그래서 심지어 다음 코드:

39, & # 39 &quot 자바스크리프트바리이블 'var = {{-, -}} &quot' 트랜스 key&;;;

다음 이믈 디스크입니다. diskid 번역:

key: >
    This is a
    multi line 
    translation.

그 결과 다음과 같은 코드를 계속 꽂으십시오 html 의:

var javascriptVariable = "This is a multi line translation.
";

따라서 이 문제를 해결할 수 있는 - 로그인하십시오 작은 가지 않습니다. 해결 방법은 뺀 후 이 이상의 추가 예중이 로그인하십시오 이믈:

key: >-
    This is a
    multi line 
    translation.

올바른 결과를 낳을 것이라고 한 줄에 있는 작은 가지 (multi line, 번역:

var javascriptVariable = "This is a multi line translation.";
해설 (1)

그 공백을 포함할 경우, 나는 큰따옴표 및 선 연결 문자열을 권능은하나님께 방관하겠나 포지셔닝하십시오 함께 백 슬래시:

key: "String \
  with long c\
  ontent"

하지만 참고 있는 대비하여 핏폴 대한 연속 시작되는 행은 공간을 사용해야 하는지 이스케이프된 (스트립될 빼냅니다 표시되기 때문에 다른 곳에서):

key: "String\
  \ with lon\
  g content"

줄 바꿈, 이 경우 C 로 짜여진 '스타일' \n 문자열이어야 필요가 있습니다.

[이 질문] 참조 (https://stackoverflow.com/questions/46060460/how-to-break-a-string-over-multiple-lines-and-preserve-spaces-in-yaml).

해설 (1)

기타 솔루션, 나를 위해 YAML 의 파일 내의 협력했습니다 지킬 예정이다. 이후 여러 가지 옵션 중 html 을 (를) ',' 아니라는 사실을 깨달은 분사 이후 모든 것을 할 수 있을 뿐만 아니라, br&gt &lt 귀의하매 렌더링됩니다 html:

이름: '' 라만차 ',' 내가 한 마을 이름이 don& br&gt &lt, t ',' # 39, &lt, br&gt 매핑하려는 너희에게베풀어진.

적어도 작동하잖아 for me. 아무 생각이 이 문제에 대한 연관됨 외곽진입.

해설 (1)