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.
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.
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 diff
wyniku lub podobnym.
git diff --word-diff
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
źródło