Prawidłowe wcięcie dla linii owiniętych


14

Mam następujący zawinięty tekst, zwłaszcza gdy używasz wielu okien:

keukendump w sklepie dmg

Zastanawiam się, czy wcięcie owiniętego tekstu można zmienić jak w Vimie:

)

Kiedy się zastanawiasz, wydaje się, że jest za to odpowiedzialny AutoFillMode . Miałem nadzieję, że można to poprawić w Emacsie 25. Po uaktualnieniu do skompilowanego pliku binarnego Emacsa 25 widzę to samo zachowanie.

Zastanawiam się, czy mógłbym to rozwiązać w inny sposób?


1
Być może rozwiązanie mogłoby skorzystać z wrap-prefix: gnu.org/software/emacs/manual/html_node/elisp/… Zobacz także wrap-prefixproperty: gnu.org/software/emacs/manual/html_node/elisp/…
lista prawników

1
Sprawdź adaptive-wrappaczkę.
Kaushal Modi

Oboje macie rację, prawnik i kaushalmodi. Dzięki za pomoc!
ReneFroger,

Odpowiedzi:


12

Po M-x package-install RET adaptive-wrap RET:

(setq-default adaptive-wrap-extra-indent 2)
(add-hook 'visual-line-mode-hook #'adaptive-wrap-prefix-mode)
(global-visual-line-mode +1)

adaptive-wrap-prefix-modedomyślnie nie jest trybem globalnym. Ale możesz zrobić to globalnie, jeśli chcesz, i nie wiązać go z aktywacją visual-line-mode.
Kaushal Modi

Zaskakujące, jak łatwo można to osiągnąć. Dlaczego nie jest to uwzględnione w domyślnym pakiecie Emacsa?
ReneFroger,

Sam pakiet jest w ELPA, więc można go dość łatwo zaaranżować, przynajmniej z prawnego punktu widzenia. Wolałbym, aby Tetris był pakietem zewnętrznym i wbudowanym adaptacyjnym opakowaniem, ale takie jest życie.
PythonNut,

2
@PythonNut Po dalszych przemyśleniach, mogę zacząć robić to, co robisz .. włączyć adaptive-wrap-prefix-modeużywanie visual-line-mode-hook:)
Kaushal Modi

1
@kaushalmodi Dzięki za wskazówkę. Naprawiłem to w mojej konfiguracji jakiś czas temu (idk, jest też kilka innych rzeczy w tym zatwierdzeniu: |), ale nie zaktualizowałem mojej odpowiedzi. Należy zaktualizować teraz.
PythonNut
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.