Чем отличается жесткая пленка от мягкой?


99

Я пишу текстовый редактор. Посмотрев на другие текстовые редакторы, я заметил, что некоторые из них ссылаются на «мягкую» и «жесткую» обертку. В чем разница? Кажется, я не могу найти ответ путем поиска.

Ответы:


137

Жесткий перенос вставляет фактические разрывы строк в тексте в точках переноса, при мягком переносе фактический текст все еще находится на той же строке, но выглядит так, как будто он разделен на несколько строк.


19

Текстовые редакторы обычно автоматически переносят текст в абзацы с жесткими символами новой строки, но реже текст будет перетекать в красивый абзац, если вы вернетесь позже и отредактируете / добавите / удалите слова позже. (Вы можете сделать это вручную в emacs с помощью Mq.)

Это довольно раздражает, поскольку обсессивно-компульсивные люди, такие как я, затем возвращаются и должны вручную повторно вставлять жесткие паузы в соответствующие места.

С другой стороны, мягкое обертывание раздражает, потому что большинство инструментов командной строки используют сравнение на основе строк (контроль версий - это то, где это становится для меня наиболее заметным). Если у вас есть абзац на 1/3 страницы, который мягко обернут и исправлен опечатка, практически невозможно увидеть, где находится изменение в обычном diffили подобном выводе.


2
Я знаю, что вы сказали «обычный» diff, однако я хотел бы отметить, что выделение - это находка.
SW.

1
@Will, Так какое решение рекомендуют такие люди, как вы?
Pacerier

Если вы используете Vim с включенными номерами строк (: set nu), вы обнаружите, что он мягко обертывает строки, но сохраняет их отдельно, поэтому, если отдельная строка шире экрана, вы все равно сможете прочитать весь текст. , но это не повлияет на вашу способность выполнять поиск по номерам строк. (Видимая линия отличается от реальной линии). Вы также можете перейти прямо к строке, набрав: 10 или: 30 и т. Д.
daviewales

Если вы используете Git, легко увидеть изменения с помощью мягкой упаковки. Использование git diff --word-diff
Энтони Эберт

14

soft : текст в текстовой области не переносится при отправке в форму. Это по умолчанию

жесткий : текст в текстовой области переносится (содержит символы новой строки) при отправке в форму. Когда используется "жесткий", необходимо указать атрибут cols.

Ссылка: W3Schools

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.