Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.editoren > #315

Re: Vim als default Editor

From Helmut Waitzmann <nn.throttle@xoxy.net>
Newsgroups de.comp.editoren
Subject Re: Vim als default Editor
Date 2021-06-18 21:18 +0200
Organization Aioe.org NNTP Server
Message-ID <83wnqr56d3.fsf@helmutwaitzmann.news.arcor.de> (permalink)
References (3 earlier) <87pmwmfajk.fsf@wolfgang-bauer.at> <871r91z2tz.fsf@usenet.ankman.de> <87y2b9m40n.fsf@wolfgang-bauer.at> <874kdxc58r.fsf@wolfgang-bauer.at> <87eed0xrda.fsf@usenet.ankman.de>

Show all headers | View raw


Andreas Kohlbach <ank@spamfence.net>:
>On Thu, 17 Jun 2021 09:36:20 +0200, Wolfgang Bauer wrote:

>> Das habe ich mir nochmal angesehen. In
>> https://de.comp.text.tex.narkive.com/vRvYSVxW/automatischer-umbruch-mit-emacs
>> gibt es einen Hinweis
>>      (add-hook 'text-mode-hook 'turn-on-auto-fill)
>>      (setq-default fill-column 72)
>> in ~/.emacs einzutragen.
>>
>> Oder/und in emacs selbst
>>          M-x customize-variable [RET] fill-column [RET]
>> da /ist/ 72 eingetragen.
>> Trotzdem macht emacs keinen automatischen Zeilenumbruch.
>> Händisch geht es mit M+q
>
>Ich habe hier (allerdings in der ~/.gnus, weil ich das bei Emacs nicht 
>default haben will):
>
>(add-hook 'message-mode-hook
>  (lambda ()
>  (setq fill-column 72)
>  (turn-on-auto-fill)
>))
>
>Nicht dass ich Ahnung von LISP hätte. Aber vielleicht fehlt die 
>Zeile mit "lamda".

Tipp:  Zähl mal die Anzahl der öffnenden und schließenden Klammern 
in der Zeile mit «lambda».  Was geschieht demnach, wenn Wolfgang 
diese Zeile in seine Emacs‐ oder Gnus‐Startup‐Datei einfügt?

Zunächst könnte der Lisp‐Ausdruck eine hilfreiche Einrückung und 
Zeilenumbruch vertragen, um besser lesbar zu sein:

   (add-hook 'message-mode-hook
     (lambda ()
      (setq fill-column 72)
      (turn-on-auto-fill)
     )
   )

Ein bisschen Lisp‐Ahnung:  Du rufst hier die Lisp‐Funktion 
«add-hook» auf.  Die Tastenfolge

   C-h f add-hook 


verrät, dass die Funktion zwei Parameter zwingend (und weitere 
optional) übergeben haben möchte.  Der erste Parameter ist eine 
Variable, der «hook», zu Deutsch Haken, in Deinem Beispiel 
«message-mode-hook».  Sein Wert ist eine Liste von Funktionen, die 
nacheinander (in der Reihenfolge von der ersten bis zur letzten) 
aufgerufen werden, wenn man beginnt, eine Nachricht zu verfassen.

Dein Aufruf der Funktion «add-hook» bewirkt, dass an die in der 
Variablen «message-mode-hook» enthaltene Liste von Funktionen eine 
Funktion vorne dran gehängt wird, wenn die anzuhängende Funktion 
bisher noch nicht in der Liste steht.  In Deinem Fall ist das die 
Funktion

   (lambda ()
    (setq fill-column 72)
    (turn-on-auto-fill)
   )

Das ist eine namenlose Funktion, die (keine Parameter entgegennimmt 
und) die zwei Lisp‐Ausdrücke

   (setq fill-column 72)
   (turn-on-auto-fill)

nacheinander ausführt:  Sie belegt die Variable «fill-column» mit 
dem Wert 72 und ruft die Funktion «turn-on-auto-fill» auf.

Die Tastenkombination 


   C-h f turn-on-auto-fill 


verrät, was diese Funktion tut:  Sie schaltet in dem Puffer, aus dem 
heraus sie aufgerufen wird, automatischen Zeilenumbruch ein.  Das 
bedeutet, dass beim Tippen Zeilen automatisch umbrochen werden, wenn 
sie länger als die Anzahl von Zeichen, die in der Variablen 
«fill-column» vermerkt ist, werden.  Lies dazu auch die 
Dokumentation zur Variablen «fill-column», erhältlich mit der 
folgenden Tastenfolge:

  C-h v fill-column 


Zusammengenommen bedeutet das, dass immer, wenn ein Puffer in die 
Betriebsart «Message Mode» geschaltet wird (man also beginnt, eine 
Nachricht zu verfassen), in eben dem Puffer die Lisp‐Ausdrücke

   (setq fill-column 72)
   (turn-on-auto-fill)

ausgeführt werden:  Die Zeilenlänge, bei deren Überschreitung 
Zeilenumbruch stattfindet, wird in diesem Puffer auf 72 gestellt, 
und der automatische Zeilenumbruch in diesem Puffer eingeschaltet.

>Werfe Deines mal raus und ersetze es durch Obiges. 
>

Wolfgang, wirf Deines nicht hinaus und ersetze es nicht durch 
Andreas'.  Obiges passt für Deinen Fall so eher nicht.

Andreas, Du spielst mit dem Feuer und stiftest Wolfgang dazu an, das 
ebenfalls zu tun:  Du hattest keine Ahnung, was der Lisp‐Code tut.  
Trotzdem rätst Du Wolfgang (der das eher nicht besser beurteilen 
kann), ihn einfach zu verwenden.  Dabei hätte der Lisp‐Code 
prinzipiell alles Mögliche tun können, auch Schaden anrichten.

>Natürlich muss eine neue Instanz von Emacs danach gestartet werden. 
>

Ja.  Wenn Wolfgang seinen Emacs dann beendet und einen neuen 
startet, hat er gegebenenfalls einen, der nicht mehr funktioniert, 
und kann dann nicht einmal mehr mit seinem Emacs die Startup‐Datei 
korrigieren.

Back to de.comp.editoren | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Emacs als default Texteditor Stefan Reuther <stefan.news@arcor.de> - 2021-06-15 18:01 +0200
  Re: Emacs als default Texteditor Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-15 20:46 +0200
  Vim als default Editor (was: Emacs als default Texteditor) Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-16 10:18 +0200
    Re: Vim als default Editor Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-16 11:01 +0200
      Re: Vim als default Editor Christian Schneider <strcat@gmx.net> - 2021-06-16 13:36 +0200
      Re: Vim als default Editor Enrik Berkhan <Enrik.Berkhan@inka.de> - 2021-06-16 13:04 +0000
        Re: Vim als default Editor wolfgang-bauer@gmx.eu (Wolfgang Bauer) - 2021-06-16 15:54 +0200
      Re: Vim als default Editor Andreas Kohlbach <ank@spamfence.net> - 2021-06-16 21:39 -0400
        Re: Vim als default Editor Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-17 06:49 +0200
        Re: Vim als default Editor Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-17 07:52 +0200
          Re: Vim als default Editor Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-17 09:36 +0200
            Re: Vim als default Editor Andreas Kohlbach <ank@spamfence.net> - 2021-06-17 14:45 -0400
              Re: Vim als default Editor Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-06-18 21:18 +0200
                Re: Vim als default Editor Andreas Kohlbach <ank@spamfence.net> - 2021-06-18 15:42 -0400
                Emacs automatisch Zeilen umbrechen lassen (was: Vim als default Editor) Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-06-19 18:36 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen Andreas Kohlbach <ank@spamfence.net> - 2021-06-19 13:55 -0400
                Re: Emacs automatisch Zeilen umbrechen lassen Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-06-20 03:06 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2021-06-20 11:04 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen Andreas Kohlbach <ank@spamfence.net> - 2021-06-20 06:20 -0400
                Re: Emacs automatisch Zeilen umbrechen lassen "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2021-06-22 22:30 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen Stefan Reuther <stefan.news@arcor.de> - 2021-06-23 17:57 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2021-06-28 13:43 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-06-20 20:29 +0200
                Re: Emacs automatisch Zeilen umbrechen lassen Andreas Kohlbach <ank@spamfence.net> - 2021-06-20 15:37 -0400
                Re: Emacs automatisch Zeilen umbrechen lassen Andreas Kohlbach <ank@spamfence.net> - 2021-06-20 06:18 -0400
            Re: Vim als default Editor Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-06-18 21:30 +0200
      Re: Vim als default Editor Dennis Preiser <d__p@d--p.de> - 2021-06-28 18:52 +0000
        Re: Vim als default Editor Wolfgang Bauer <wolfgang-bauer@gmx.eu> - 2021-06-28 21:07 +0200

csiph-web