Jaka jest różnica między twardym a miękkim opakowaniem?

99

Jestem w trakcie pisania edytora tekstu. Po przyjrzeniu się innym edytorom tekstu zauważyłem, że wiele z nich odnosi się do zawijania „miękkiego” i „twardego”. Jaka jest różnica? Nie mogę znaleźć odpowiedzi, szukając.

Titaniumdecoy
źródło

Odpowiedzi:

137

Zawijanie twarde wstawia rzeczywiste podziały wierszy w tekście w punktach zawijania, z miękkim zawijaniem rzeczywisty tekst nadal znajduje się w tym samym wierszu, ale wygląda na to, że jest podzielony na kilka wierszy.

Firas Assaad
źródło
19

Zwykle edytory tekstu automatycznie zawijają tekst w akapity z twardymi znakami nowej linii, ale rzadziej tekst jest przenoszony do ładnego akapitu, jeśli wrócisz później i edytujesz / dodasz / usuniesz słowa później. (Możesz to zrobić ręcznie w emacsie za pomocą Mq.)

Jest to dość denerwujące, ponieważ obsesyjni kompulsywni ludzie, tacy jak ja, wracają i muszą ręcznie ponownie wstawiać twarde przerwy w odpowiednich miejscach.

Z drugiej strony miękkie zawijanie jest denerwujące, ponieważ większość narzędzi wiersza poleceń używa różnicowania opartego na wierszach (kontrola wersji jest tym, gdzie jest to najbardziej zauważalne). Jeśli masz 1/3-stronicowy akapit, który jest miękko zawinięty i naprawiasz literówkę, w zasadzie niemożliwe jest zobaczenie, gdzie zmiana jest w zwykłym diffwyniku lub podobnym.

Will Robertson
źródło
2
Wiem, że powiedziałeś „zwykły” diff, ale chciałbym zwrócić uwagę, że podkreślanie jest darem niebios.
SW.
1
@ Will, więc jakie rozwiązanie polecają ludzie z ocd, tacy jak ty?
Pacerier,
Jeśli używasz Vima, z włączonymi numerami linii (: set nu), zauważysz, że miękko zawija linie, ale utrzymuje je oddzielnie, więc jeśli pojedyncza linia jest szersza niż ekran nadal będziesz w stanie przeczytać cały tekst , ale nie zakłóci to możliwości wyszukiwania według numerów linii. (Widoczna linia różni się od rzeczywistej linii). Możesz także przejść bezpośrednio do linii, wpisując: 10 lub: 30 itd.
daviewales
Jeśli używasz Git, łatwo jest zobaczyć zmiany dzięki miękkiemu zawijaniu. Wykorzystanie git diff --word-diff
Anthony Ebert
14

miękki : tekst w obszarze tekstu nie jest zawijany podczas przesyłania w formularzu. To jest ustawienie domyślne

twarde : tekst w obszarze tekstu jest zawijany (zawiera znaki nowej linii) podczas przesyłania w formularzu. W przypadku użycia wartości „hard” należy określić atrybut cols

Źródła: W3Schools

RevanthKrishnaKumar V.
źródło