Я пишу текстовый редактор. Посмотрев на другие текстовые редакторы, я заметил, что некоторые из них ссылаются на «мягкую» и «жесткую» обертку. В чем разница? Кажется, я не могу найти ответ путем поиска.
Жесткий перенос вставляет фактические разрывы строк в тексте в точках переноса, при мягком переносе фактический текст все еще находится на той же строке, но выглядит так, как будто он разделен на несколько строк.
Текстовые редакторы обычно автоматически переносят текст в абзацы с жесткими символами новой строки, но реже текст будет перетекать в красивый абзац, если вы вернетесь позже и отредактируете / добавите / удалите слова позже. (Вы можете сделать это вручную в emacs с помощью Mq.)
Это довольно раздражает, поскольку обсессивно-компульсивные люди, такие как я, затем возвращаются и должны вручную повторно вставлять жесткие паузы в соответствующие места.
С другой стороны, мягкое обертывание раздражает, потому что большинство инструментов командной строки используют сравнение на основе строк (контроль версий - это то, где это становится для меня наиболее заметным). Если у вас есть абзац на 1/3 страницы, который мягко обернут и исправлен опечатка, практически невозможно увидеть, где находится изменение в обычном diff
или подобном выводе.
git diff --word-diff
soft : текст в текстовой области не переносится при отправке в форму. Это по умолчанию
жесткий : текст в текстовой области переносится (содержит символы новой строки) при отправке в форму. Когда используется "жесткий", необходимо указать атрибут cols.
Ссылка: W3Schools
источник