Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Emacs als default Texteditor

6 views
Skip to first unread message

Wolfgang Bauer

unread,
Jun 15, 2021, 11:30:04 AM6/15/21
to
Servus.

Ich teste den Konsolenreader Tin. Tin hat keinen eingebauten Etitor und
übergibt an Emacs als default Editor.
Tin macht selbst auch keinen Zeilenumbruch. Wenn ich in Emacs einen Text
mit Zeilen länger als ca. 72 Z/Z schreibe übergibt Emacs das so wieder
an Tin.
Meine Frage ist, kann ich in Emacs einen Umbruch einstellen? Geht das in
der ~/.emacs zu machen?

Freundliche Grüße
Wolfgang
--
Fernsehen ist fabelhaft. Man bekommt nicht nur Kopfschmerzen davon,
sondern erfährt auch gleich in der Werbung, welche Tabletten dagegen helfen.
Bette Davis

Wolfgang Bauer

unread,
Jun 15, 2021, 12:00:03 PM6/15/21
to
Servus.

Ich teste den Konsolenreader Tin. Tin hat keinen eingebauten Editor und

Stefan Reuther

unread,
Jun 15, 2021, 12:07:38 PM6/15/21
to
Am 15.06.2021 um 17:28 schrieb Wolfgang Bauer:
> Ich teste den Konsolenreader Tin. Tin hat keinen eingebauten Etitor und
> übergibt an Emacs als default Editor.
> Tin macht selbst auch keinen Zeilenumbruch. Wenn ich in Emacs einen Text
> mit Zeilen länger als ca. 72 Z/Z schreibe übergibt Emacs das so wieder
> an Tin.
> Meine Frage ist, kann ich in Emacs einen Umbruch einstellen? Geht das in
> der ~/.emacs zu machen?

M-q kennst du?

Ansonsten nennt Emacs den Umbruch "fill", und mit dem Stichwort findet
sich M-x auto-fill-mode.

Persönlich brech ich aber lieber manuell um (eben mit M-q), da kann man
auch mal Quelltext oder Zitate unfallfrei übernehmen.


Stefan

Stefan Wiens

unread,
Jun 15, 2021, 12:39:31 PM6/15/21
to
Wolfgang Bauer <wolfgan...@gmx.eu> writes:

> Ich teste den Konsolenreader Tin. Tin hat keinen eingebauten Editor und
> übergibt an Emacs als default Editor.
> Tin macht selbst auch keinen Zeilenumbruch. Wenn ich in Emacs einen Text
> mit Zeilen länger als ca. 72 Z/Z schreibe übergibt Emacs das so wieder
> an Tin.
> Meine Frage ist, kann ich in Emacs einen Umbruch einstellen? Geht das in
> der ~/.emacs zu machen?

Die entsprechende Variable ist fill-column.

Im Buffer sollte natürlich auto-fill-mode aktiv sein.

--
Stefan

Wolfgang Bauer

unread,
Jun 15, 2021, 2:50:06 PM6/15/21
to
Stefan Reuther schrieb:
> Am 15.06.2021 um 17:28 schrieb Wolfgang Bauer:

> M-q kennst du?
>
Ich möchte keinen händischen Umbruch ich hoffe es fest einstellen zu
können.

> Ansonsten nennt Emacs den Umbruch "fill", und mit dem Stichwort findet
> sich M-x auto-fill-mode.
>
Auto-Fill mode enabled in current buffer

Freundliche Grüße
Wolfgang
--
Wenn man die Frauen verstehen würde, ginge ihr Zauber verloren.
Sacha Guitry (eig. Alexandre Pierre Georges)

Wolfgang Bauer

unread,
Jun 16, 2021, 4:20:06 AM6/16/21
to
Stefan Reuther schrieb:
> Am 15.06.2021 um 17:28 schrieb Wolfgang Bauer:

>> Ich teste den Konsolenreader Tin. Tin hat keinen eingebauten Etitor und
>> übergibt an Emacs als default Editor.
>> Tin macht selbst auch keinen Zeilenumbruch.
>
> Persönlich brech ich aber lieber manuell um (eben mit M-q), da kann man
> auch mal Quelltext oder Zitate unfallfrei übernehmen.
>
Und weil ich das mit Emacs nicht hinbekommen habe, nehme ich Vim der
sich in Beziehung zum Zeilenumbruch in ~/.tinrc eintragen läßt.
editor_format: vim -c 'set tw=72' +%N %F
In der ~/.bashrc
export EDITOR=vim

update-alternatives --config editor
Auswahl Pfad Priorität Status
------------------------------------------------------------
0 /bin/nano 40 automatischer Modus
1 /bin/ed -100 manueller Modus
2 /bin/nano 40 manueller Modus
3 /usr/bin/emacs 0 manueller Modus
* 4 /usr/bin/vim.basic 30 manueller Modus
5 /usr/bin/vim.tiny 15 manueller Modus

Trotzdem startet für Tin als Editor Emacs. Warum?

Freundliche Grüße
Wolfgang
--
Konfuzius
Wer einen Fehler begangen hat und ihn nicht korrigiert,
begeht einen weiteren Fehler.

Wolfgang Bauer

unread,
Jun 16, 2021, 5:08:06 AM6/16/21
to
Wolfgang selbst schrieb:
> Stefan Reuther schrieb:
>> Am 15.06.2021 um 17:28 schrieb Wolfgang Bauer:
>
> Und weil ich das mit Emacs nicht hinbekommen habe, nehme ich Vim der
> sich in Beziehung zum Zeilenumbruch in ~/.tinrc eintragen läßt.
> editor_format: vim -c 'set tw=72' +%N %F

Ich habe den Fehler gefunden. Dieser Eintrag in der ~/.tinrc
wurde bei einem Systemneustart überschrieben.
Die ~/.tinrc habe ich nun auf "nur lesen" gesetzt und so paßt es nun.

Freundliche Grüße
Wolfgang
--
Alle guten Dinge fangen mit S an. Sommer, Sonne, Sex, Schokolade, Bier.

Christian Schneider

unread,
Jun 16, 2021, 7:36:29 AM6/16/21
to
Thus spake Wolfgang Bauer (wolfgan...@gmx.eu):
> Wolfgang selbst schrieb:
>> Stefan Reuther schrieb:
>>> Am 15.06.2021 um 17:28 schrieb Wolfgang Bauer:
>>
>> Und weil ich das mit Emacs nicht hinbekommen habe, nehme ich Vim der
>> sich in Beziehung zum Zeilenumbruch in ~/.tinrc eintragen läßt.
>> editor_format: vim -c 'set tw=72' +%N %F
>
> Ich habe den Fehler gefunden. Dieser Eintrag in der ~/.tinrc
> wurde bei einem Systemneustart überschrieben.
> Die ~/.tinrc habe ich nun auf "nur lesen" gesetzt und so paßt es nun.

Wenn beim Systemneustart irgendeine Konfigurationsdatei in $HOME
überschrieben wird, ist irgendwas kaputtkonfiguriert und ein "ro" nicht
die Lösung, sondern Pfusch.
--
Christian Schneider /\|||||/\ Email: str...@gmx.net
http://www.strcat.de/ ( o o ) GPG-ID: 47E322CE
--------------------ooO--(_)--Ooo----------------------

Enrik Berkhan

unread,
Jun 16, 2021, 9:13:04 AM6/16/21
to
Wolfgang Bauer <wolfgan...@gmx.eu> wrote:
> Ich habe den Fehler gefunden. Dieser Eintrag in der ~/.tinrc
> wurde bei einem Systemneustart überschrieben.
> Die ~/.tinrc habe ich nun auf "nur lesen" gesetzt und so paßt es nun.

Hattest du tin noch offen, als du die .tinrc editiert hast? Dann hat tin
die .tinrc möglicherweise beim Beenden überschrieben.

Gruß,
Enrik

Wolfgang Bauer

unread,
Jun 16, 2021, 9:57:08 AM6/16/21
to
Enrik Berkhan <Enrik....@inka.de> schrieb:

>> Ich habe den Fehler gefunden. Dieser Eintrag in der ~/.tinrc
>> wurde bei einem Systemneustart überschrieben.
>> Die ~/.tinrc habe ich nun auf "nur lesen" gesetzt und so paßt es nun.
>
> Hattest du tin noch offen, als du die .tinrc editiert hast? Dann hat tin
> die .tinrc möglicherweise beim Beenden überschrieben.
>
Ja das ist möglich, ich kann es nicht ausschließen.
--
Freundliche Grüße
Wolfgang

Wolfgang Bauer

unread,
Jun 17, 2021, 12:50:14 AM6/17/21
to
Andreas Kohlbach schrieb:

> Aber was sagt
>
> echo $EDITOR
>
Jetzt
wolfgang@wolfgang-bauer:~$ echo $EDITOR
vim

Freundliche Grüße
Wolfgang
--
Wie man sein Kind nicht nennen sollte:
Klara Korn

Wolfgang Bauer

unread,
Jun 17, 2021, 2:00:04 AM6/17/21
to
Andreas Kohlbach schrieb:

>> Ich habe den Fehler gefunden. Dieser Eintrag in der ~/.tinrc
>> wurde bei einem Systemneustart überschrieben.
>> Die ~/.tinrc habe ich nun auf "nur lesen" gesetzt und so paßt es nun.
>
> Gut.
>
> Aber was sagt
>
> echo $EDITOR
>
Wie schon geschrieben
wolfgang@wolfgang-bauer:~$ echo $EDITOR
vim

vim hat den Vorteil, dass ihm von Tin der Zeilenumbruch vorgegeben wird.
Aber vim ist nur mit Tastenkombinationen zu bedienen und das sind viele.

Wenn ich in emacs einen festen Zeilenumbruch einstellen könnte, würde
ich doch emacs als Editor nehmen.

Freundliche Grüße
Wolfgang
--
Wenn ich mit meiner Katze spiele,
wer kann da sagen wer zu wessen Belustigung dient?
Michele de Montaigne

Wolfgang Bauer

unread,
Jun 17, 2021, 3:40:03 AM6/17/21
to
Wolfgang selbst schrieb:

> Wenn ich in emacs einen festen Zeilenumbruch einstellen könnte, würde
> ich doch emacs als Editor nehmen.
>
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

Helmut Waitzmann

unread,
Jun 18, 2021, 3:31:38 PM6/18/21
to
Andreas Kohlbach <a...@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.

Helmut Waitzmann

unread,
Jun 18, 2021, 3:31:39 PM6/18/21
to
Wolfgang Bauer <wolfgan...@gmx.eu>:
>Wolfgang selbst schrieb:
>
>> Wenn ich in emacs einen festen Zeilenumbruch einstellen könnte,
>> würde ich doch emacs als Editor nehmen.
>>

Vorne weg:  Man kann es einstellen.  (Meiner steht beim
Nachrichten‐Verfassen auf 68 Zeichen.)

>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

Das sieht danach aus, als ob der automatische Zeilenumbruch in dem
Puffer, in dem Du ihn haben willst, nicht eingeschaltet ist.

Falls Du nach der Ursache fahnden willst, tippe in so einem Puffer,
in dem der automatische Zeilenumbruch funktionieren sollte, aber
nicht funktioniert, bitte folgende Tastenfolgen ein und poste
jeweils den Inhalt des «*Help*»‐Puffers:


C-h m


Poste den Inhalt des «*Help*»‐Puffers.


C-h v fill-column


Poste den Inhalt des «*Help*»‐Puffers.


C-h v text-mode-hook


Poste den Inhalt des «*Help*»‐Puffers.

Helmut Waitzmann

unread,
Jun 19, 2021, 12:36:22 PM6/19/21
to
Andreas Kohlbach <a...@spamfence.net>:
>Klammerzahl passt doch?
>

Dann zählst Du anders als ich:  Die Zeile, die das Wort «lambda»
enthält und die Du Wolfgang einzufügen empfiehlst, sieht bei mir so
aus:

>>> (lambda ()

Das sind bei mir zwei öffnende und eine schließende Klammer, bei Dir
nicht?

>> 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)
>> )
>> )
>
>So steht der auch in meiner .gnus. Das Einpasten addierte Einschübe
>(Leerzeichen) vor jeder Zeile,

Wie machst Du das?  Wenn ich Text aus einer Datei in eine Nachricht
kopieren will, stelle ich die Schreibmarke an den Anfang des Textes
und tippe

C-SPC

(bei gedrückt gehaltener Control‐Taste die Leertaste drücken und
loslassen).  Danach bewege ich die Schreibmarke an das Ende des
Textes und tippe

M-w

(bei gedrückt gehaltener Meta‐ (falls vorhanden, sonst Alt‐) Taste
die Taste «w» drücken und loslassen) oder

ESC w

(die Escape‐Taste drücken und loslassen und die Taste «w» drücken
und loslassen) oder

C-[ w

(bei gedrückt gehaltener Control‐Taste die Taste «[» drücken und
loslassen, alle Tasten loslassen, dann die Taste «w» drücken und
loslassen).

Dann bringe ich die Schreibmarke an die Stelle in der Nachricht, wo
der Text eingefügt werden soll und tippe

C-y

(bei gedrückt gehaltener Control‐Taste die Taste «y» drücken und
loslassen), um den Text einzufügen.  Der Text bleibt dabei genau so
formatiert, wie er in der Datei war.



>dass ich die manuell zu entfernen versuchte. Sich nicht optimal.
>

Einen Text, der zu weit eingerückt ist, rückt man am einfachsten
aus, indem man, wie oben beschrieben, «point» und «mark» an den
Anfang bzw. das Ende (oder umgekehrt) des Textes stellt und dann die
Tastenfolge

C-u - 1 C-x TAB

oder

C-u - 1 C-x C-i

tippt.  Die Zahl (hier: -1) gibt an, um wieviel Positionen der Text
weiter eingerückt (bewirkt bei negativer Zahl das Gegenteil) werden
soll.

>[...]
>
>>> 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.
>
>Trial and error. Er kann es bei Misserfolg ja wieder zurück machen.
>
>
>Sicher nicht die "wissenschaftliche richtige" Herangehensweise.
>Aber weder Wolfgang noch ich verstehen etwas von LISP. So hoffte
>ich, ihm damit helfen zu können.
>

Mann!  Wer in den Emacs‐ oder Gnus‐Startup‐Dateien händisch
Änderungen vornimmt, der programmiert bereits.  Da ist bloßes
Trial‐and‐Error‐Verfahren nicht ohne Risiko – besonders bei
Wolfgang.

>>> 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.
>
>Er hat ja noch vi und andere Editoren.
>

… und gegebenenfalls mit dem einmaligen Start mit defekter
Startup‐Datei bereits Daten in seinem HOME‐Verzeichnis beschädigt.

Helmut Waitzmann

unread,
Jun 20, 2021, 4:30:52 AM6/20/21
to
Andreas Kohlbach <a...@spamfence.net>:
>On Sat, 19 Jun 2021 18:36:15 +0200, Helmut Waitzmann wrote:
>> Andreas Kohlbach <a...@spamfence.net>:
>>>On Fri, 18 Jun 2021 21:18:32 +0200, Helmut Waitzmann wrote:
>>>>>
>>>>> 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?
>>>
>>> Klammerzahl passt doch?
>>>
>>
>> Dann zählst Du anders als ich:  Die Zeile, die das Wort «lambda»
>> enthält und die Du Wolfgang einzufügen empfiehlst, sieht bei mir
>> so aus:
>>
>>>>> (lambda ()
>>
>> Das sind bei mir zwei öffnende und eine schließende Klammer, bei
>> Dir nicht?
>
>Nein.
>
>Ich zähle bei jeder "(" einen dazu und ziehe bei ")" einen ab:
>
>
>(add-hook 'message-mode-hook
>1
>
>(lambda ()
>2 32
>
>(setq fill-column 72)
>3 2
>
>(turn-on-auto-fill)
>3 2
>
>))
>10
>
>Passt bei mir.
>

Das ist nicht «die Zeile mit "lambda"», wie Du geschrieben hattest. 
Das ist der ganze Lisp‐Ausdruck.  Verzeihung, aber bei Wolfgang
musst Du Dich wirklich vollkommen eindeutig ausdrücken, sonst ist er
verloren.

>>> Das Einpasten addierte Einschübe
>>> (Leerzeichen) vor jeder Zeile,
>>
>> Wie machst Du das?
>>
>
>Per GPM ("General Purpose Mouse"); von einer TTY (in der ich die
>~/.gnus im Editor less aufmachte) kopiere ich den Text und fügte in
>dann in die TTY ein, in der Gnus läuft. Dabei passiert es öfter,
>dass Leerzeichen eingefügt werden.

Dann taugt sie oder «less» nicht.  Nimm lieber Emacs'
Tastaturfähigkeiten.  Die taugen etwas:  Emacs stammt aus einer
Zeit, in der es noch keine Mäuse gab.  Deshalb kann er vollkommen
per Tastatur gesteuert werden.

Nebebei:  Ist «less» neuerdings ein Editor?  Ich kenne ihn nur als
Dateianzeiger.

>> Mann!  Wer in den Emacs‐ oder Gnus‐Startup‐Dateien händisch
>> Änderungen vornimmt, der programmiert bereits.  Da ist bloßes
>> Trial‐and‐Error‐Verfahren nicht ohne Risiko – besonders bei
>> Wolfgang.
>
>"Programmieren" setzt IMO die Kenntnis voraus zu wissen, was man
>macht. Das ist bei mir (zumindest bei LISP) *nicht* gegeben.
>Vielleicht kommt "Hacken" dem näher.

Hacken?  Das machen doch die, die Schwachstellen ausnutzen, um Böses
anzustellen (die schwarzen Hacker) oder die, die Schwachstellen
aufstöbern, damit sie geschlossen werden (die weißen Hacker).  In
beiden Fällen braucht man vertiefte Kenntnisse vom Objekt der
Begierde.

Aber vielleicht ist der Customizer im Emacs etwas für Dich.  Damit
habe ich allerdings so gut wie keine Erfahrung, weil ich mit Emacs
angefangen habe, ehe es den Customizer gab, mich mit Emacs‐Lisp
befasst habe und dann dabei geblieben bin.

Sind die Variablen «message-mode-hook» und «text-mode-hook» im
Customizer drin?

Peter J. Holzer

unread,
Jun 20, 2021, 5:04:58 AM6/20/21
to
On 2021-06-20 01:06, Helmut Waitzmann <nn.th...@xoxy.net> wrote:
> Andreas Kohlbach <a...@spamfence.net>:
>>On Sat, 19 Jun 2021 18:36:15 +0200, Helmut Waitzmann wrote:
>>> Andreas Kohlbach <a...@spamfence.net>:
>>>> Das Einpasten addierte Einschübe
>>>> (Leerzeichen) vor jeder Zeile,
>>>
>>> Wie machst Du das?
>>>
>>
>>Per GPM ("General Purpose Mouse"); von einer TTY (in der ich die
>>~/.gnus im Editor less aufmachte) kopiere ich den Text und fügte in
>>dann in die TTY ein, in der Gnus läuft. Dabei passiert es öfter,
>>dass Leerzeichen eingefügt werden.
>
> Dann taugt sie oder «less» nicht.  Nimm lieber Emacs'
> Tastaturfähigkeiten.  Die taugen etwas:  Emacs stammt aus einer
> Zeit, in der es noch keine Mäuse gab.  Deshalb kann er vollkommen
> per Tastatur gesteuert werden.
>
> Nebebei:  Ist «less» neuerdings ein Editor?  Ich kenne ihn nur als
> Dateianzeiger.

Nein, less ist kein Editor. Aber jede Terminal-Emulation (von der
Linux-Text-Konsole über das gute alte xterm bis zu kterm oder
gnome-terminal) kann Text, der angezeigt wird in die Selection und/oder
das Clipboard kopieren (beim xterm z.B. einfach durch markieren mit der
linken Maustaste). Von dort kann man es dann in einem Editor einfügen.
Und je nachdem, welcher Editor das ist und welche Einstellungen dort
aktiv sind, kann es sein, dass das, was man da einfügen möchte,
umbrochen oder auto-indentet (ist das ein Wort?) wird. Beim vim gibt es
z.B. »:set paste«, das alle solchen Einstellungen temporär aufhebt,
neuere Versionen können auch in einem xterm unterscheiden, ob der Input
von der Tastatur oder aus dem Clipboard kommt.


>>"Programmieren" setzt IMO die Kenntnis voraus zu wissen, was man
>>macht. Das ist bei mir (zumindest bei LISP) *nicht* gegeben.
>>Vielleicht kommt "Hacken" dem näher.
>
> Hacken?  Das machen doch die, die Schwachstellen ausnutzen, um Böses
> anzustellen (die schwarzen Hacker) oder die, die Schwachstellen
> aufstöbern, damit sie geschlossen werden (die weißen Hacker).

http://www.catb.org/jargon/html/H/hack.html

hp

Helmut Waitzmann

unread,
Jun 20, 2021, 2:36:05 PM6/20/21
to
"Peter J. Holzer" <hjp-u...@hjp.at>:
I stand corrected.  Danke.

Peter J. Holzer

unread,
Jun 22, 2021, 4:30:52 PM6/22/21
to
On 2021-06-20 10:20, Andreas Kohlbach <a...@spamfence.net> wrote:
> On Sun, 20 Jun 2021 11:04:57 +0200, Peter J. Holzer wrote:
>> On 2021-06-20 01:06, Helmut Waitzmann <nn.th...@xoxy.net> wrote:
>>> Nebebei:  Ist «less» neuerdings ein Editor?  Ich kenne ihn nur als
>>> Dateianzeiger.
>>
>> Nein, less ist kein Editor. Aber jede Terminal-Emulation (von der
>> Linux-Text-Konsole über das gute alte xterm bis zu kterm oder
>> gnome-terminal) kann Text, der angezeigt wird in die Selection und/oder
>> das Clipboard kopieren (beim xterm z.B. einfach durch markieren mit der
>> linken Maustaste). Von dort kann man es dann in einem Editor einfügen.
>
> Ich machte das ohne GUI, also TTY. Hier sollten ncurses zum Zuge kommen.

ncurses hat damit fast sicher nichts zu tun. Das ist hauptsächlich eine
Library, um Bildschirmoutput zu managen (also z.B. einen String fett in
weiß auf blau rechts unten auf den Schirm zu schreiben) mit diversen
Optimierungen für langsame Leitungen (bei 300 bits/s war das wichtig).

Wie Du schon richtig geschrieben hast, ist das Tool, das da zum Einsatz
kommt, GPM. Das kopiert einen markierten Bildschirminhalt in einen
Buffer und kann den dann wieder einem Terminal als Input zur Verfügung
stellen. Details weiß ich nicht (wenn ich mir die jemals angeschaut
habe, ist es 25 Jahre her und ich habe sie vergessen), aber da ist fast
sicher ein rudimentärer Support in der Kernel-Terminal-Emulation
vorhanden und der Rest wird im User-Space gemacht. Prinzipiell sehr
ähnlich wie bei xterm und Co, nur dass dort auch auf Terminal-Emulation
ein Prozess im User-Space ist, und der Buffer Teil des X-Servers.

Die Crux hier ist "einem Terminal als Input zur Verfügung stellen". Wenn
der Text einfach so als Input reinkommt, kann eine Applikation (z.B. ein
Editor) nicht unterscheiden, ob der Input vom User getippt wurde oder
aus dem Buffer kommt. Oft ist das gut, manchmal aber lästig. Wenn man
z.B. in einem Editor Source-Code schreibt, hat man meistens ein paar
Automatismen aktiviert: Zumindest Auto-Indent, vielleicht automatisches
Einfügen von Klammern, automatischen Zeilenumbruch, etc. Das spart
Tipparbeit und vermeidet Fehler. Wenn man jetzt
aber Source-Code reinpastet, sind alle die Mechanismen nicht nur unnötig
(der Code passt ja schon), sondern kontraproduktiv - wenn der Editor
automatisch einrückt, und dann kommen noch ein paar Spaces dazu, dann
hat man zu viele Spaces, und in nächsten Zeile noch mehr und in der
übernächsten noch mehr ... Daher ist es sinnvoll, wenn der
Copy&Paste-Mechanismus eine Möglichkeit vorsieht, gepasteten Input von
getipptem Input zu unterscheiden (xterm & Co können das, vielleicht kann
es GPM auch) - wenn nicht, sollte man im Editor auf einen "Paste-Modus"
umschalten können (vim kann das, emacs wahrscheinlich auch).

hp

Stefan Reuther

unread,
Jun 23, 2021, 12:02:26 PM6/23/21
to
Am 22.06.2021 um 22:30 schrieb Peter J. Holzer:
> On 2021-06-20 10:20, Andreas Kohlbach <a...@spamfence.net> wrote:
>> Ich machte das ohne GUI, also TTY. Hier sollten ncurses zum Zuge kommen.
>
> ncurses hat damit fast sicher nichts zu tun. Das ist hauptsächlich eine
> Library, um Bildschirmoutput zu managen (also z.B. einen String fett in
> weiß auf blau rechts unten auf den Schirm zu schreiben) mit diversen
> Optimierungen für langsame Leitungen (bei 300 bits/s war das wichtig).
>
> Wie Du schon richtig geschrieben hast, ist das Tool, das da zum Einsatz
> kommt, GPM. Das kopiert einen markierten Bildschirminhalt in einen
> Buffer und kann den dann wieder einem Terminal als Input zur Verfügung
> stellen. Details weiß ich nicht (wenn ich mir die jemals angeschaut
> habe, ist es 25 Jahre her und ich habe sie vergessen), aber da ist fast
> sicher ein rudimentärer Support in der Kernel-Terminal-Emulation
> vorhanden und der Rest wird im User-Space gemacht.

Der Mechanismus dürfte einfach sein: Bildspeicher auslesen:
<https://linux.die.net/man/4/vcsa>

> Die Crux hier ist "einem Terminal als Input zur Verfügung stellen". Wenn
> der Text einfach so als Input reinkommt, kann eine Applikation (z.B. ein
> Editor) nicht unterscheiden, ob der Input vom User getippt wurde oder
> aus dem Buffer kommt. [...] Daher ist es sinnvoll, wenn der
> Copy&Paste-Mechanismus eine Möglichkeit vorsieht, gepasteten Input von
> getipptem Input zu unterscheiden (xterm & Co können das, vielleicht kann
> es GPM auch) - wenn nicht, sollte man im Editor auf einen "Paste-Modus"
> umschalten können (vim kann das, emacs wahrscheinlich auch).

Da gibt's inzwischen Escape-Sequenzen für, ich bin aber ziemlich sicher,
dass gpm dafür ein paar Jahre zu alt ist:
<http://www.xfree86.org/current/ctlseqs.html#Bracketed%20Paste%20Mode>.


Stefan

Peter J. Holzer

unread,
Jun 28, 2021, 7:43:04 AM6/28/21
to
Ja.

> ich bin aber ziemlich sicher, dass gpm dafür ein paar Jahre zu alt
> ist:

Ich bin mir ziemlich sicher, dass xterm ein paar Jährchen älter ist als
GPM :-).

hp

Wolfgang Bauer

unread,
Jun 28, 2021, 3:08:03 PM6/28/21
to
Dennis Preiser schrieb:
> Wolfgang Bauer <wolfgan...@gmx.eu> wrote:
>> Die ~/.tinrc habe ich nun auf "nur lesen" gesetzt und so paßt es nun.
>
> Das ist keine gute Idee. Es gibt Situationen, in denen tin die tinrc
> (normalerweise ~/.tin/tinrc) neu schreibt. Z.B. wenn man via 'M'enu
> (großes 'M' drücken) Einstellungen vornimmt. Auch beim Umstieg auf eine
> andere tin-Version kann sich der Inhalt der tinrc ändern, was tin dann
> automatisch anpasst.
>
Ich habe mich schon lange wieder von vim als Editor getrennt.
Editor für Tin und slrn ist wieder emacs. Einen erforderlichen
Zeilenumbruch mache ich mit M+Q.

Freundliche Grüße
Wolfgang
--
Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
0 new messages