Как сделать перенос строки в Markdown:два пробела, обратный слэш или тег br.
Вы нажимаете Enter в Markdown-файле, а две строки отображаются как одна. Так задумано. Вот почему это происходит и три способа принудительно начать новую строку.
macOS 14 или новее. Чтение бесплатно; редактирование и ревью оплачиваются один раз.
Коротко
Один перевод строки в Markdown считается пробелом, поэтому строки сливаются. Чтобы разорвать строку, закончите её двумя пробелами, обратным слэшем или HTML-тегом <br>. Чтобы начать новый абзац, оставьте пустую строку.
First line\
Second line, after a backslash
Next paragraph, after a blank line
·
Почему Markdown игнорирует новую строку
Markdown склеивает строки абзаца. Если вы напишете
Roses are red
Violets are blue
читатель увидит один абзац: Roses are red Violets are blue. Перевод строки в исходном тексте — это мягкий перенос: место, где вы разбили текст, а не где читатель должен увидеть разрыв. Он позволяет переносить длинные строки в редакторе, не меняя вида страницы.
Пустая строка — другое дело. Она заканчивает абзац и начинает новый, с промежутком между ними. Чаще всего нужен именно такой разрыв.
Три способа принудительно перенести строку
Принудительный перенос, он же жёсткий, оставляет текст в том же абзаце и начинает следующую строку.
-
Два пробела в конце строки
Наберите минимум два пробела перед Enter. Работает везде, но пробелов не видно, а некоторые редакторы и настройки Git их убирают.
-
Обратный слэш в конце строки
Поставьте
\самым последним символом, без пробела после него. Он виден и не пропадает при обрезке. Это часть CommonMark и GitHub Flavored Markdown, хотя некоторые старые приложения его не знают. -
HTML-тег br
Закончите строку на
<br>(или<br/>). Работает почти в любом приложении, которое принимает встроенный HTML. Это ещё и единственный способ разорвать строку внутри ячейки таблицы.
Two spaces after this line
comes out on a new line.
A backslash ends this one\
and breaks it too.
A tag also works.<br>
Third line.
Все три дают один результат:
Два пробела после этой строки
продолжаются на новой строке.
Какой способ выбрать
- Новый абзац (пустая строка) для любой отдельной мысли. Самый переносимый вариант.
- Обратный слэш, когда нужен разрыв посреди абзаца, например в адресе или стихотворении, и приложение следует CommonMark.
- Тег br в ячейке таблицы или когда вы не уверены, что приложение поддерживает два других способа.
- Два пробела только когда вы уверены, что их никто не уберёт.
Внутри строчного кода разрывы не работают, а разрыв в самом конце абзаца ничего не делает. Если нужен пустой промежуток, используйте пустую строку или заголовок, а не груду тегов <br>.
Примеры: адрес, стихотворение, пункт списка
Жёсткий перенос подходит для текста, где важна сама строка, например для почтового адреса:
Jane Smith221B Baker StreetLondon
Иван Петров
ул. Бейкер-стрит, 221B
Лондон
Внутри пункта списка закончите строку разрывом и сдвиньте следующую так, чтобы она совпала с текстом пункта:
- Pack the bags and lock the door
- Leave at eight
Если разрыв нужен в каждой строке длинного текста, скорее всего, это список или блок кода, а для обоих в Markdown есть синтаксис.
Когда перенос строки всё равно не работает
- Один пробел в конце. Нужно два или больше.
- Пробел после обратного слэша. Слэш должен быть последним символом в строке.
- Редактор убирает пробелы в конце строк при сохранении. Перейдите на обратный слэш или тег br.
- Один и тот же текст выглядит по-разному в двух местах. Некоторые приложения, например поля issues и комментариев на GitHub, сохраняют одиночные переводы строк как разрывы, а Markdown-файл на GitHub нет. Принудительный разрыв выглядит одинаково везде.
- Текст внутри пункта списка или цитаты. Оставьте разрыв в конце строки, а следующую строку сдвиньте по пункту.
Быстрее всего проверить, открыв файл в программе для чтения. DotMD следует этим правилам: одиночный перевод строки склеивает строки, а два пробела, обратный слэш или <br> разрывают строку. Чтение бесплатно, а в DotMD Editor живой предпросмотр показывает результат по мере набора.
Вопросы о переносах строк в Markdown
Как добавить новую строку в Markdown?
Чтобы разорвать строку внутри абзаца, закончите её двумя пробелами, обратным слэшем или тегом <br>. Чтобы начать новый абзац, оставьте пустую строку.
Почему в Markdown игнорируется новая строка?
Markdown считает одиночный перевод строки пробелом, поэтому строки склеиваются в один абзац. Чтобы получить видимый разрыв, используйте пустую строку, два пробела в конце, обратный слэш или <br>.
Всегда ли два пробела работают как перенос строки?
В CommonMark и GitHub Flavored Markdown да. Но редакторы и инструменты Git часто убирают пробелы в конце строк, и разрыв молча пропадает. Надёжнее обратный слэш или <br>.
Как сделать перенос строки в таблице Markdown?
Используйте <br> внутри ячейки. Два пробела и обратный слэш там не работают, потому что строка таблицы — одна строка текста.