expertenaustausch > comp.* > comp.editoren

Volker Englisch (28.09.2018, 19:07)
Hallo,

ich versuche gerade, dem Emacs beizubringen, dass er nach 72 Zeichen
einen Zeilenumbruch machen soll. Irgendwie tappe ich völlig im Dunkeln,
kein einziger Versuch hat etwas gebracht.

Unten sind meine "Versuche" (~/.emacs) zu sehen. Alle Varianten
ausprobiert, aber es passiert einfach _nichts_, wenn Spalte 72
überschritten wird.

Any idea?

(setq standard-display-european t)
(set-input-mode (car (current-input-mode))
(nth 1 (current-input-mode))
0)
(normal-erase-is-backspace-mode 1)
;;(add-hook 'text-mode-hook 'turn-on-auto-fill)
(setq fill-paragraph t)
(setq-default fill-column 72)
(setq fill-column 72)
;;(setq default-major-mode 'text-mode)
;;(setq text-mode-hook
;; '(lambda nil
;; (setq fill-column 72)
;; (auto-fill-mode 1)))
Marcel Logen (28.09.2018, 19:20)
Volker Englisch schrieb:

>ich versuche gerade, dem Emacs beizubringen, dass er nach 72 Zeichen
>einen Zeilenumbruch machen soll. Irgendwie tappe ich völlig im Dunkeln,
>kein einziger Versuch hat etwas gebracht.
>Unten sind meine "Versuche" (~/.emacs) zu sehen. Alle Varianten
>ausprobiert, aber es passiert einfach _nichts_, wenn Spalte 72
>überschritten wird.
>Any idea? [...]
>(setq-default fill-column 72) ^ ^


Ich habe hier:

| (setq default-fill-column 1024)

weil ich das von Dir gewünschte Verhalten eben nicht haben
will.

Vermutlich klappt es bei Dir, wenn Du den Bindestrich hinter
"setq" wegnimmst und hinter "default" setzt.

Marcel
Volker Englisch (28.09.2018, 22:15)
Marcel Logen wrote on 28.09.2018 19:20:
> Volker Englisch schrieb:
> [...]
> ^ ^
> Ich habe hier:
> | (setq default-fill-column 1024)
> weil ich das von Dir gewünschte Verhalten eben nicht haben
> will.
> Vermutlich klappt es bei Dir, wenn Du den Bindestrich hinter
> "setq" wegnimmst und hinter "default" setzt.


Leider nicht. Gleiches Resultat - es wird nicht umgebrochen...
Marcel Logen (28.09.2018, 22:38)
Volker Englisch writes:

>Marcel Logen wrote on 28.09.2018 19:20:


>> Vermutlich klappt es bei Dir, wenn Du den Bindestrich hinter
>> "setq" wegnimmst und hinter "default" setzt.

>Leider nicht. Gleiches Resultat - es wird nicht umgebrochen...


Vielleicht brauchst Du noch ein

(auto-fill-mode 1)

Marcel
Marcel Logen (28.09.2018, 22:58)
Marcel Logen schrieb:

>Ich habe hier:
>| (setq default-fill-column 1024)
>weil ich das von Dir gewünschte Verhalten eben nicht haben
>will.


Ich sehe gerade (C-h v default-fill-column RET):

| This variable is obsolete since 23.2;
| use `fill-column' instead.

Außerdem könnte es sein, daß Deine Einstellungen nur im
text-mode gegolten haben. Bist Du sicher, bei Deinen Tests
den text-mode eingeschaltet gehabt zu haben? (Dann steht
unten in der grauen Statusleiste "(Text)".)

Ingrid
Helmut Waitzmann (29.09.2018, 05:59)
Volker Englisch <eh>:

>ich versuche gerade, dem Emacs beizubringen, dass er nach 72 Zeichen
>einen Zeilenumbruch machen soll. Irgendwie tappe ich völlig im Dunkeln,
>kein einziger Versuch hat etwas gebracht.


[?]

>Any idea?


Wenn ich keinen Fehler gemacht habe, sollten die folgenden Zeilen
bei Betreten des Text?Modes Auto?Fill?Mode ein? oder ausschalten,
wenn und nur wenn die Variable my-text-mode-auto-fill einen
Wert ungleich nil enthält.

Steck dazu die folgenden Zeilen in die Datei "~/.emacs". Dann
werden die Variable "my-text-mode-auto-fill" und die Funktion
"my-text-mode-auto-fill" (die auch als Kommando über

M-x my-text-mode-auto-fill

aufgerufen werden kann) mitsamt interaktiv abfragbarer
Dokumentation definiert, sowie ein Funktionsaufruf in den
Text?Mode?Hook gestellt:

(defvar my-text-mode-auto-fill nil
"*Let auto-fill-mode be turned on or off, when entering Text mode.
For sensible values (besides nil) of this variable see the
parameter ARG of the function auto-fill-mode. If this variable is
not nil, auto-fill-mode will be called using this variable as the
parameter ARG, when entering Text mode, by means of the function
my-text-mode-auto-fill.
If this variable is nil, nothing is done."
)

(defun my-text-mode-auto-fill nil
"Turn Auto Fill mode on or off. See the variable my-text-mode-auto-fill."
(interactive)
(if my-text-mode-auto-fill
(auto-fill-mode my-text-mode-auto-fill)))

(add-hook
'text-mode-hook
(function my-text-mode-auto-fill))

;; Let auto-fill-mode be turned on when entering text-mode:

(setq-default my-text-mode-auto-fill 1)
Volker Englisch (29.09.2018, 10:33)
Marcel Logen wrote on 28.09.2018 22:58:
> Marcel Logen schrieb:
> Außerdem könnte es sein, daß Deine Einstellungen nur im
> text-mode gegolten haben. Bist Du sicher, bei Deinen Tests
> den text-mode eingeschaltet gehabt zu haben? (Dann steht
> unten in der grauen Statusleiste "(Text)".)


Das war's. Da war noch "lisp-interaction-mode" gestanden. Jetzt weiß
ich auch was Major-Modes sind... Text-Modus als Default gesetzt und
es funktioniert.

Danke!
Marcel Logen (30.09.2018, 00:37)
Helmut Waitzmann schrieb:

>(setq-default my-text-mode-auto-fill 1) ^^^^^^^^^^^^


Ah, danke, das war mir bisher nicht bekannt:
<http://www.gnu.org/software/emacs/manual/html_node/elisp/Default-Value.html#index-setq_002ddefault-837>

Deshalb in <news:20180928fr172034>
meine Vermutung, da stünde ein Bindestrich an der
flcsahen Stelle.

Marcel
Volker Englisch (30.09.2018, 18:16)
Helmut Waitzmann wrote on 29.09.2018 05:59:
> Volker Englisch <eh>:
> [...]
> Wenn ich keinen Fehler gemacht habe, sollten die folgenden Zeilen
> bei Betreten des Text-Modes Auto-Fill-Mode ein- oder ausschalten,
> wenn und nur wenn die Variable my-text-mode-auto-fill einen
> Wert ungleich nil enthält.


Danke, scheint zu funktionieren. Wieder etwas gelernt...
Ähnliche Themen