Die Standardkonfiguration ermöglicht es, Mutt sofort (``out-of-the-box'') zu
benutzen. Dennoch ist es oft wünschenswert, Mutt an die eigenen Bedürfnisse
anzupassen. Beim ersten Aufruf von Mutt versucht das Programm, die systemweite
Konfigurationsdatei (Einstellungen, die durch deinen lokalen
Systemadministrator vorgenommen wurden) zu lesen, es sei denn, es wurde die
Kommandozeilen- Option ``-n'' angegeben. Diese
Datei heißt üblicherweise /usr/local/share/mutt/Muttrc
oder
/etc/Muttrc
. Als nächstes sucht Mutt in deinem Heimatverzeichnis nach
einer Datei mit dem Namen .muttrc
. Wenn diese Datei nicht existiert
und es in deinem Heimatverzeichnis ein Unterverzeichnis mit dem Namen
.mutt
gibt, dann versucht Mutt eine Datei mit dem Namen
.mutt/muttrc
zu laden.
.muttrc
ist die Datei, in der du normalerweise die
Befehle einträgst, um Mutt zu konfigurieren.
Zusätzlich unterstützt Mutt versionsabhängige Konfigurationsdateien,
die anstelle der oben genannten Standarddateien ausgewertet werden.
Wenn es zum Beispiel auf deinem System eine Datei Muttrc-0.88
im Verzeichnis für die systemweiten Konfigurationsdateien gibt und du
Mutt in der Version 0.88 aufrufst, dann wird Mutt diese Datei anstelle
der Datei Muttrc
verwenden. Dasselbe gilt für die benutzerspezifische
Konfigurationsdatei: Wenn du eine Datei .muttrc-0.88.6
in deinem
Heimatverzeichnis hast und Mutt-Version 0.88.6 benutzt, wird diese
Datei anstelle der Standarddatei .muttrc
eingelesen. Die Versionsnummer
ist genau die, die angezeigt wird, wenn Mutt mit der ``-v''
Kommandozeilen- Option aufgerufen oder
im Menü index die show-version
Taste (Voreinstellung: V) benutzt wird.
Eine Konfigurationsdatei besteht aus einer Folge von Befehlen. Jede Zeile in der Datei darf einen oder mehrere Befehle enthalten. Wenn mehrere Befehle in einer Zeile angegeben werden, dann müssen sie durch ein Semikolon (;) voneinander getrennt werden.
set realname='Mutt user' ; ignore x-
Das ``Hash'' oder ``Lattenzaun'' (``#'') wird als Kommentarzeichen verwendet. Du kannst es benutzen, um Anmerkungen in deine Konfigurationsdatei zu schreiben. Mutt ignoriert alles, was in einer Zeile hinter diesem Kommentarzeichen steht. Ein Beispiel:
my_hdr X-Disclaimer: Warum hörst du mir zu? # Dies ist ein Kommentar
Mit einfachen (') und doppelten (") Anführungszeichen können Zeichenketten eingegeben werden, die Leer- oder Sonderzeichen enthalten. Der Unterschied zwischen den Anführungszeichen ist der gleiche wie in vielen populären Shell-Programmen: Das einfache Anführungszeichen dient dazu eine Zeichenkette festzulegen, in der keine Shellvariablen ersetzt oder mit dem ``Backslash'' (\) maskierte Zeichen interpretiert werden [vergleiche nächster Abschnitt], während dies bei Zeichenketten in doppelten Anführungszeichen geschieht. Zum Beispiel werden ``backtics'' (`) innerhalb doppelter Anführungszeichen ausgewertet, innerhalb von einfachen Anführungszeichen jedoch nicht.
\ maskiert das nächste Zeichen, genauso wie in Shells wie bash und zsh. Wenn du zum Beispiel doppelte Anführungszeichen ``"'' innerhalb einer Zeichenkette verwenden möchtest, dann kannst du ``\'' benutzen, um zu verhindern, daß das folgende Zeichen als Ende des Strings interpretiert wird.
set realname="Michael \"MuttDude\" Elkins"
Mit ``\\'' kann das Zeichen ``\'' in die Zeile eingefügt werden. ``\n'' und ``\r'' haben die in C üblichen Bedeutungen von Zeilenumbruch (linefeed) und Wagenrücklauf (carriage-return).
Ein \ am Ende einer Zeile dient dazu, Befehle auf mehrere Zeilen aufzuteilen. Dabei darf aber nicht in der Mitte von Befehlsnamen getrennt werden.
Desweiteren ist es möglich, die Ausgabe eines Unix-Befehls in die Konfigurationsdatei einzubinden. Dazu muss das entsprechende Kommando in ``backquotes'' (`) eingeschlossen werden. Zum Beispiel:
my_hdr X-Operating-System: `uname -a`
Die Ausgabe des Unix-Befehls ``uname -a'' wird eingefügt, bevor die
Zeile ausgewertet wird. Zu beachten ist, daß die Konfigurationsdatei
zeilenorientiert ist. Daher wird auch nur die erste Zeile der Ausgabe
eines Unix-Befehls übernommen.
Auf UNIX Umgebungsvariablen kann genauso wie aus einer Shell wie sh oder bash zugegriffen werden, indem man vor den Namen der Variablen ein ``$'' setzt. Zum Beispiel:
set record=+sent_on_$HOSTNAME
In den folgenden Abschnitten werden die Befehle erklärt, die Mutt versteht. Eine vollständige Liste ist in der Befehlsreferenz enthalten.
Benutzung: alias
Schlüssel Adresse [ , Adresse, ... ]
Es ist für gewöhnlich etwas lästig, sich an die komplette Mailadresse eines Gesprächspartners zu erinnern oder sie komplett einzutippen. Mutt erlaubt es ``Aliasnamen'' zu erzeugen, die einen kurzen Schlüssel für eine komplette Mailadresse definieren.
Anmerkung: Wenn du einen Aliasnamen für eine Gruppe definierst (indem du mehr als eine Adresse angibst), dann müssen die einzelnen Adressen durch ein Komma (``,'') voneinander getrennt werden.
Entfernen eines oder mehrerer Aliasnamen (``*'' steht für alle):
unalias
[ * | Schlüssel ... ]
alias muttdude me@cs.hmc.edu (Michael Elkins)
alias theguys manny, moe, jack
Im Gegensatz zu anderen Mailreadern ist es bei Mutt nicht notwendig, dass die
Aliasnamen in einer besonderen Datei gespeichert werden. Der alias
Befehl
darf in irgend einer Konfigurationsdatei auftauchen, solange diese Datei nur
eingelesen wird. Daher kann es bei Bedarf auch
mehrere Alias-Dateien geben, oder es können alle Aliasnamen in der .muttrc
definiert sein.
Auf der anderen Seite kann die
create-alias
Funktion nur eine einzige Datei benutzen, nämlich genau die, die durch die
Variable
$alias_file (die
standardmäßig den Wert ~/.muttrc
hat) festgelegt wurde. Diese
Datei ist ebenfalls nichts ``besonderes'' in dem Sinne, dass Mutt Aliasnamen
an jede beliebige Datei anhängen kann. Damit sie wirksam werden, ist es aber
erforderlich, auch diese Datei explizit
einzulesen.
Zum Beispiel:
source /usr/local/share/Mutt.aliases
source ~/.mail_aliases
set alias_file=~/.mail_aliases
Die Benutzung der Aliasnamen erfolgt einfach dadurch, dass der Aliasname überall dort eingegeben werden kann, wo Mutt nach einer Adresse fragt, so zum Beispiel am To: oder Cc: Prompt. Wenn die Variable $edit_headers gesetzt ist, kannst Du die Aliasnamen auch mit deinem Editor in die entsprechenden Kopfzeilen eintragen.
Zusätzlich kannst du an den verschiedenen Stellen, wo nach einer Adresse gefragt wird, die TAB-Taste benutzen, um einen teilweise eingegebenen Aliasnamen zu vervollständigen. Wenn es mehrere Möglichkeiten gibt, geht Mutt in ein Menü, in dem (wie in einem Adressbuch) eine Liste aller passenden Aliasnamen angezeigt wird. Wenn du die komplette Liste aller Aliasnamen sehen möchtest, drückst du die TAB-Taste einfach ohne vorher etwas einzugeben, etwa am leeren Prompt oder nach einem Komma für mehrere Adressen.
Im Alias Menü kannst du mit der select-entry Taste (Voreinstellung: Return) so viele Aliasnamen auswählen, wie du möchtest. Mit der exit Taste (Voreinstellung: q) kehrst du zur Adresseingabe zurück.
Benutzung: bind
Menü Taste Funktion
Dieser Befehl erlaubt es, die voreingestellte Tastenbelegung (welche Funktion auf einen Tastendruck hin aufgerufen wird) zu ändern.
Menü legt fest, in welches Menü die Tastenbelegung gehört. Die momentan gültigen Werte sind:
Taste ist die Taste (oder Tastenkombination), die du zuordnen möchtest. Um ein Kontrollzeichen anzugeben, wird die Sequenz \Cx verwendet, wobei x der Buchstabe für das Kontrollzeichen ist (``\Ca'' steht zum Beispiel für Control-A (bzw. Strg-A auf deutschen Tastaturen, A.d.Ü.)). Beachte, daß die Groß-/Kleinschreibung sowohl bei x alsauch bei \C ignoriert wird. Die Definitionen \CA, \Ca, \cA und \ca bedeuten daher alle das gleiche. Alternative ist es möglich, die Taste als 3-stellige Oktalzahl mit führendem ``\'' anzugeben (zum Beispiel ist \177 äquivalent zu \c?).
Desweiteren darf Taste folgende Strings enthalten:
\t Tab
<tab> Tab
\r Wagenrücklauf (carriage return)
\n Zeilenvorschub (newline)
\e Escape
<esc> Escape
<up> Cursor hoch
<down> Cursor runter
<left> Cursor links
<right> Cursor rechts
<pageup> Bild hoch
<pagedown> Bild runter
<backspace> Backspace
<delete> Entf
<insert> Einfg
<enter> Enter
<return> Return (Eingabetaste)
<home> Pos1
<end> Ende
<space> Leertaste
<f1> Funktionstaste F1
<f10> Funktionstaste F10
Taste muss nicht in Anführungszeichen eingeschlossen werden, außer wenn Leerzeichen (`` '') enthalten sind.
Funktion legt fest, welche Aktion ausgeführt wird, wenn die Taste
gedrückt wird. Eine komplette Liste aller Funktionen ist in der
Referenz aufgeführt.
Die Sonderfunktion noop
hebt die Definition einer Tastenbelegung
auf.
Benutzung: charset-hook
Alias Zeichensatz
Benutzung: iconv-hook
Zeichensatz lokaler Zeichensatz
Mit dem Befehl charset-hook
kann man Alias-Namen für Zeichensätze
definieren. Dies ist nützlich, um Nachrichten richtig anzuzeigen, in denen ein
Zeichensatz deklariert wurde, den mutt nur unter anderem Namen kennt.
Der Befehl iconv-hook
definiert einen system-spezifischen Namen für einen
Zeichensatz. Das ist hilfreich, falls die Bibliothek zur Konvertierung von
Zeichensätzen auf deinem System darauf besteht, Zeichensätze mit seltsamen,
system-spezifischen Namen zu versehen.
Benutzung: folder-hook
[!]Muster Befehl
Oft ist es wünschenswert, Einstellungen in Abhängigkeit von der gerade benutzten Mailbox zu verändern. Der Befehl folder-hook bietet die Möglichkeit, einen beliebigen Konfigurationsbefehl auszuführen. Muster ist ein regulärer Ausdruck, der angibt, vor dem Öffnen welcher Mailboxen der Befehl ausgeführt werden soll. Wenn für eine Mailbox mehrere folder-hook's zutreffen, dann werden sie in der Reihenfolge ausgeführt, in der sie in der muttrc stehen.
Anmerkung: Wenn du am Anfang des Musters das Ausrufezeichen (``!'') als Abkürzung für die $Spooldatei verwendest, dann muss es in einfachen oder doppelten Anführungsstrichen stehen, damit es vom logischen Nicht Operator des Musters unterschieden werden kann.
Beachte, dass die alten Einstellungen nicht wieder hergestellt werden, wenn die Mailbox verlassen wird.
Als Beispiel ist ein möglicher Befehl, die Art der Sortierung der Nachrichten abhängig von der gelesenen Mailbox zu ändern:
folder-hook mutt set sort=threads
Die Art der Sortierung wird hierbei nicht auf den alten Wert zurückgesetzt, wenn eine andere Mailbox geladen wird. Mit dem Muster ``.'' kann ein Standard Befehl festgelegt werden.
folder-hook . set sort=date-sent
Benutzung: macro
Menü Taste Sequenz [ Beschreibung ]
Makros sind nützlich, wenn du möchtest, dass auf einen Tastendruck hin eine ganze Folge von Aktionen ausgeführt wird. Wenn du im Menü Menü die Taste Taste drückst, verhält sich Mutt so, als wenn du Sequenz eingegeben hättest. Wenn du also eine Folge von Befehlen hast, die du häufig hintereinander eingibst, dann kannst du ein Makro erzeugen, um diese Befehlsfolge mit einem Tastendruck auszuführen.
Prinzipiell sind Taste und Sequenz nach denselben Regeln aufgebaut wie die Tastenbelegungen. Allerdings gibt es ein paar Besonderheiten: Die erste ist, dass Kontrollzeichen innerhalb einer Sequenz auch als ^x geschrieben werden können. Um das Caret (``^'') selbst zu erzeugen, muss daher ^^ eingegeben werden. Zweitens kann man die Schreibweisen <Tastenname> und <Funktionsname> verwenden, um spezielle Tasten wie up (Cursor rauf) anzugeben oder Funktionen direkt aufzurufen. Eine Auflistung der Tastennamen ist im Abschnitt zu den Tastenbindungen enthalten. Die Funktionen sind in der Funktions-Referenz aufgeführt.
Der Vorteil bei direkter Verwendung der Funktionsnamen ist, dass die Makros nicht die gegenwärtigen Tastenbindungen verwenden und ihre Funktion auf diese Weise nicht davon abhängt, dass der Benutzer bestimmte Tasten-Definitionen hat. Dadurch werden sie robuster und portabler; es erleichtert auch die Definition von Makros in Dateien, die von mehr als einer Person genutzt werden (z.B. in der globalen Muttrc).
Optional kannst du nach der Sequenz eine Beschreibung angeben, die dann in den Hilfebildschirmen angezeigt wird.
Anmerkung: Makrodefinitionen (so vorhanden), die in den Hilfebildschirmen angezeigt werden, werden bei der Anzeige auf Bildschirmbreite abgeschnitten und nicht umgebrochen.
Benutzung: color
Objekt Vordergrund Hintergrund [ Muster ]
Benutzung: color
index Vordergrund Hintergrund Muster
Benutzung: uncolor
index Vordergrund Hintergrund [ Muster ]
Wenn dein Terminal farbfähig ist, kannst du Mutt durch ein selbst definiertes Farbschema verschönern. Um die Farbe für ein Objekt (eine bestimmte Art von Information) festzulegen, musst du eine Vordergrundfarbe und eine Hintergrundfarbe festlegen (es ist nicht möglich nur eins von beiden anzugeben).
Objekt darf eines der folgenden sein:
Vordergrund und Hintergrund kann eine der folgenden Farben sein:
Beim Vordergrund kann der jeweiligen Farbe das Schlüsselwort
bright
vorangestellt werden, um die Vordergrundfarbe fett gedruckt
zu bekommen (zum Beispiel brightred
).
Wenn es dein Terminal unterstützt, dann kann das besondere Schlüsselwort default als transparente Farbe benutzt werden. Der Wert brightdefault ist ebenfalls gültig. Wenn Mutt gegen die S-Lang Bibliothek gebunden wurde, dann musst du noch die Umgebungsvariable COLORFGBG auf die Standardfarben deines Terminals setzen, damit das funktioniert; zum Beispiel (für Bourne-artige Shells):
set COLORFGBG="green;black"
export COLORFGBG
Anmerkung: Die S-Lang Bibliothek verlangt, dass anstelle von white und yellow die Schlüsselworte lightgray und brown benutzt werden, wenn diese Variable gesetzt wird.
Anmerkung: Der uncolor Befehl kann nur auf das Objekt index angewendet werden. Es entfernt Einträge aus der Liste. Du musst dasselbe Muster wie beim entsprechenden color Befehl angeben, damit der Eintrag entfernt wird. Das Muster ``*'' ist ein besonderes Zeichen mit der Bedeutung, dass die komplette Liste gelöscht werden soll.
Mutt erkennt auch die Schlüsselworte color0, color1, ..., colorN-1 (wobei N die Anzahl der von deinem Terminal unterstützten Farben ist). Das ist nützlich, wenn du die Farben für deine Anzeige umdefinierst (zum Beispiel, indem du im xterm die Farbe änderst, die mit color2 verknüpft ist), weil dann die Farbnamen ihre normale Bedeutung verlieren.
Wenn dein Terminal keine Farben unterstützt, ist es mit dem ``mono'' Befehl dennoch möglich, Videoattribute zu verändern.
Benutzung: mono
<Objekt> <Attribut> [ regulärer Ausdruck ]
Benutzung: mono
index Attribut Muster
Benutzung: unmono
index Muster [ Muster ... ]
wobei Attribut eines der folgenden ist:
Benutzung: [un]ignore
Muster [ Muster ... ]
Nachrichten haben oft viele Kopfzeilen, die automatisch eingefügt werden oder solche, bei denen es nicht sinnvoll erscheint, sie am Bildschirm anzuzeigen. Dieser Befehl erlaubt es, Kopfzeilen festzulegen, die du normalerweise nicht sehen willst.
Es ist dabei nicht nötig, den kompletten Namen des Headers anzugeben. Zum Beispiel ignoriert der Eintrag ``ignore content-'' alle Kopfzeilen, die mit ``content-'' anfangen.
Um ein zuvor eingetragenes Muster aus der Liste auszutragen, wird der ``unignore'' Befehl benutzt. ``unignore *'' entfernt alle Muster aus der ignore-Liste.
Zum Beispiel:
# Sven's drakonische Auswahl von Kopfzeilen ignore * unignore from date subject to cc unignore organization organisation x-mailer: x-newsreader: x-mailing-list: unignore posted-to:
Benutzung: [un]lists
Adresse [ Adresse ... ]
Benutzung: [un]subscribe
Adresse [ Adresse ... ]
Mutt verfügt über einige schöne Funktionen zur Behandlung von Mailinglisten. Um von diesen Funktionen zu profitieren, musst du angeben, welche Adressen die Mailinglisten haben und welche davon du gerade abonniert hast. Sobald du das getan hast, wird der Befehl list-reply für alle bekannten Listen funktionieren.
Zusätzlich wird mutt in Nachrichten an abonnierte Listen einen Mail-Followup-To Header setzen, um die Mailprogramme anderer darauf hinzuweisen, dass du keine Kopien ihrer Antworten an deine Privatadresse wünschst. Beachte bitte, dass der Mail-Followup-To Header eine noch nicht standardisierte Erweiterung ist, die nicht von allen Programmen unterstützt wird. Ihn einer Nachricht hinzuzufügen schließt nicht mit völliger Sicherheit aus, dass du trotzdem persönliche Kopien von Listen-Nachrichten bekommst. Beachte auch, dass die Erzeugung des Mail-Followup-To Headers von der Variablen followup_to gesteuert wird.
Um genauer zu sein, verwaltet mutt Listen der ihm bekannten und der abonnierten Mailinglisten. Jede abonnierte Mailingliste zählt dabei automatisch als ``bekannt''. Um eine Mailingliste als bekannt zu markieren, steht der Befehl ``lists'' zur Verfügung. Um sie als abonniert zu kennzeichnen, verwendet man ``subscribe''.
Du solltest nur so viel von der Adresse angeben, wie nötig ist, um Mehrdeutigkeiten zu vermeiden. Wenn du zum Beispiel die Mailing-Liste von mutt abonniert hast, erhältst du an mutt-users@mutt.org adressierte Mail. Um mutt mitzuteilen, dass es sich dabei um eine Mailingliste handelt, kannst Du ``lists mutt-users'' in deine .muttrc schreiben; um mutt beizubringen, dass du diese Liste abonniert hast, würdest du statt dessen den Befehl ``subscribe mutt-users'' verwenden. Wenn du zufälligerweise auch Mail von jemandem mit der Adresse mutt-users@example.com bekommst, würdest du ``lists mutt-users@mutt.org'' bzw. ``subscribe mutt-users@mutt.org'' verwenden, um nur Mail zu erfassen, die tatsächlich von der Liste stammt.
Der Befehl ``unlists'' wird verwendet, um einen Eintrag aus den Listen der bekannten und abonnierten Mailing-Listen zu entfernen. Mit ``unlists *'' lassen sich die Listen auch vollständig leeren.
Um einen Eintrag zwar aus der Liste der abonnierten Mailinglisten zu entfernen, ihn aber in der Liste der bekannten Mailinglisten zu belassen, existiert der Befehl ``unsubscribe''.
Benutzung: mbox-hook
[!]Muster Mailbox
Dieser Befehl wird verwendet, um gelesene Nachrichten automatisch aus den sogenannten ``Spool-Mailboxen'' (die nicht zur Archivierung von Mail bestimmt sind) in eine andere zu verschieben, wenn du mutt verlässt oder in eine andere Mailbox wechselst.
Muster ist ein regulärer Ausdruck, der angibt, welche Mailbox als Spool-Mailbox angesehen werden soll. Mailbox gibt an, in welcher Mailbox die Nachrichten daraus gespeichert werden sollen, wenn sie gelesen wurden.
Anders als bei anderen hook Befehlen wird hier nur der erste Eintrag benutzt, auf den das Muster zutrifft (es ist nicht möglich, gelesene Mail in mehr als einer Mailbox zu speichern).
Benutzung: mailboxes
[!]Dateiname [ Dateiname ... ]
Mit diesem Befehl werden die Mailboxen definiert, in denen das System empfangene Nachrichten ablegt und die deshalb auf neue Nachrichten überprüft werden sollen. Standardmäßig wird in der Hauptstatuszeile angezeigt, wie viele dieser Mailboxen neue Nachrichten enthalten.
Beim Wechsel der Mailbox kann man mit der Leertaste durch die Mailboxen blättern, die neue Nachrichten enthalten.
Wenn man in einer Datei-Liste die Tabulator-Taste drückt, erscheint ein
Menü, in dem die Dateien aufgeführt sind, die mit dem mailboxes
Befehl
angegeben wurden und in dem angezeigt wird, welche davon neue Nachrichten
enthalten. Mutt startet automatisch in diesem Modus, wenn es von der
Kommandozeile aus mit der Option -y
aufgerufen wurde.
Anmerkung: Neue Mail wird erkannt, indem für die Mailbox-Datei das letzte
Zugriffsdatum mit dem Datum der letzten Änderung verglichen wird.
Hilfsprogramme wie biff
, frm
und andere, die auf die Mailbox
zugreifen, können (wenn sie die Zugriffszeit nicht zurücksetzen) daher dafür
verantwortlich sein, dass Mutt nie neue Mail meldet. Eine weitere Ursache für
geänderte Zugriffszeiten sind Backup-Programme.
Anmerkung: Die Dateinamen im Befehl mailboxes
werden bereits
aufgelöst, wenn der Befehl ausgeführt wird. Wenn diese Namen also
Kürzel (wie etwa ``='' and ``!'') enthalten, dann
sollte jede Variablendefinition, die auf die Bedeutung dieser Zeichen Einfluss
hat (etwa
$folder und
$spoolfile) vor dem Befehl mailboxes
stehen.
Benutzung:
my_hdr
Zeichenkette
unmy_hdr
Feld [ Feld ... ]
Der Befehl ``my_hdr'' erlaubt es eigene Kopfzeilen zu definieren, die in jede Nachricht, die man verschickt, eingefügt werden.
Wenn du zum Beispiel eine ``Organization:'' Zeile in jede ausgehende Nachricht einfügen möchtest, dann kannst du dafür den Befehl
my_hdr Organization: Eine Wirklich Große Firma, Irgendwo, Deutschland
in deine .muttrc
aufnehmen.
Anmerkung: Leerzeichen zwischen dem Schlüsselwort und dem Doppelpunkt (``:'') sind nicht erlaubt. Der Standard für E-Mail (RFC822) untersagt Leerzeichen an dieser Stelle, daher erzwingt Mutt die Einhaltung dieser Regel.
Wenn du eine Kopfzeile nur in eine einzelne Nachricht einfügen möchtest, dann kannst du entweder die Variable edit_headers setzen, oder du verwendest die Funktion edit-headers (in der Voreinstellung: ``E'') im Nachricht erstellen Menü, um die Kopfzeilen zusammen mit der Nachricht editieren zu können.
Zum Entfernen von benutzerdefinierten Kopfzeilen dient der Befehl ``unmy_hdr''. Du kannst dabei entweder einen Stern (``*'') angeben, um alle Kopfzeilen zu entfernen, oder den Namen der zu löschenden Zeile. Um zum Beispiel alle ``To'' und ``Cc'' Kopfzeilen zu entfernen, kannst Du folgendes angeben:
unmy_hdr to cc
Benutzung: hdr_order
Kopfzeile1 Kopfzeile2 Kopfzeile3
Mit diesem Befehl wird die Reihenfolge festgelegt, in der die Kopfzeilen ausgegeben werden sollen, wenn eine Nachricht angezeigt wird.
``unhdr_order *'' entfernt alle zuvor definierten Kopfzeilen aus der Sortierreihenfolge und schaltet somit die in der systemweiten Konfigurationsdatei definierte Sortierung ab.
hdr_order From Date: From: To: Cc: Subject:
Benutzung: save-hook
[!]Muster Dateiname
Mit diesem Befehl wird die Standard-Datei geändert, in der Nachrichten gespeichert werden. Die Datei Dateiname wird als Standard-Datei benutzt, wenn im From: Header der Nachricht eine Adresse steht, die auf das Muster passt, oder wenn du die Nachricht geschrieben hast und die Adresse im To: auf das Muster passt.
Im Kapitel Auswählen von Nachrichten können Informationen über das genaue Format von Muster nachgelesen werden.
Beispiele:
save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
save-hook aol\\.com$ +spam
Siehe auch den Befehl fcc-save-hook.
Benutzung: fcc-hook
[!]Muster Mailbox
Mit diesem Befehl können Kopien gesendeter Nachrichten in einer anderen Mailbox als $record gespeichert werden. Mutt sucht in der Liste der Empfänger nach der ersten Übereinstimmung mit Muster und benutzt dann die Mailbox als Voreinstellung für die Fcc: Mailbox. Wenn keine Übereinstimmung gefunden wurde, dann wird die Nachricht in der Mailbox gespeichert, die in $record angegeben ist.
Im Kapitel Auswählen von Nachrichten können Informationen über das genaue Format von Muster nachgelesen werden.
Beispiel: fcc-hook aol.com$ +spammers
Das obige speichert eine Kopie von allen Nachrichten, die an die Domain aol.com gesendet werden, in der Mailbox `+spammers'. Siehe auch den Befehl fcc-save-hook.
Benutzung: fcc-save-hook
[!]Muster Mailbox
Dieser Befehl ist lediglich eine Abkürzung, er ist äquivalent zur gleichzeitigen Ausführung der beiden Befehle fcc-hook und save-hook mit den angegebenen Argumenten.
Benutzung: send-hook
[!]Muster Befehl
Mit diesem Befehl können beliebige Konfigurationsbefehle in Abhängigkeit vom Empfänger der Nachricht ausgeführt werden. Muster ist ein regulärer Ausdruck für die gewünschte Empfängeradresse. Befehl wird ausgeführt, wenn Muster auf einen der Empfänger der Nachricht zutrifft. Wenn es mehrere Übereinstimmungen gibt, dann werden sie in der Reihenfolge ausgeführt, in der sie in der .muttrc stehen.
Im Kapitel Auswählen von Nachrichten kannst du Informationen über das genaue Format von Muster nachlesen.
Beispiel: send-hook mutt "set mime_forward signature=''"
Eine andere typische Anwendung für diesen Befehl ist das Ändern der Werte der $attribution, $signature und $locale Variablen, um die Sprache der Anrede und Signatur abhängig vom Empfänger zu setzen.
Anmerkung: Die send-hooks werden nur EINMAL ausgeführt, nachdem die ursprüngliche Liste der Empfänger eingelesen wurde. Wenn man einen Empfänger hinzufügt, während die Nachricht editiert wird, dann führt das NICHT dazu, dass irgendein send-hook ausgeführt wird. Ebenso haben my_hdr Befehle, die Empfänger- oder Betreffzeilen in den Headern ändern, keinen Einfluss auf die vorliegende Nachricht, wenn sie in einem send-hook aufgerufen werden.
Benutzung: message-hook
[!]Muster Befehl
Dieser Befehl kann verwendet werden, um in Abhängigkeit verschiedener Informationen über eine Nachricht beliebige Konfigurations-Befehle auszuführen, bevor sie angezeigt oder formatiert wird. Der Befehl wird ausgeführt, wenn das Muster auf die anzuzeigende Nachricht passt. Bei mehreren Übereinstimmungen werden die Befehle in der Reihenfolge ausgeführt, in der sie in der muttrc angegeben wurden.
Informationen zum genauen Format des Musters sind im Abschnitt Suchmuster für Nachrichten in Hooks enthalten.
Beispiel:
message-hook ~A 'set pager=builtin'
message-hook '~f freshmeat-news' 'set pager="less \"+/^ subject: .*\""'
Benutzung: pgp-hook
Muster keyid
Wenn eine Nachricht mit PGP verschlüsselt werden soll, dann kann es wünschenswert sein, einen bestimmten PGP Schlüssel mit einem Empfänger zu verknüpfen. Das ist zum Beispiel sinnvoll, wenn der Schlüssel nicht direkt aus der Empfängeradresse ermittelt werden kann oder wenn man einen anderen Schlüssel verwenden möchte als den, den mutt normalerweise auswählen würde. Der pgp-hook Befehl bietet die Möglichkeit, die Benutzer-ID des öffentlichen Schlüssels anzugeben, der für die Verschlüsselung von Mails an einen bestimmten Empfänger benutzt werden soll.
Benutzung: push
Befehlssequenz
Dieser Befehl fügt die angegebene Befehlssequenz in den Tastaturpuffer ein. Sie kann genau wie die Sequenz im Befehl macro Kontrollzeichen enthalten, Tastennamen und Funktionsnamen. Der Befehl kann benutzt werden, um beim Start von Mutt oder beim Betreten einer neuen Mailbox eine bestimmte Folge von Befehlen auszuführen.
Benutzung: exec
Funktion [ Funktion ... ]
Dieser Befehl kann verwendet werden, um eine beliebige Funktion auszuführen. Die Funktionen sind in der Funktions-Referenz aufgeführt. ``exec Funktion'' ist gleichbedeutend mit ``push <Funktion>''.
Benutzung: score
Muster Wert
Benutzung: unscore
Muster [ Muster ... ]
Wenn das Muster auf eine Nachricht passt, addiert der Befehl score
den angegebenen Wert zu ihrer Punktzahl (Score). Muster ist eine
Zeichenkette, deren Format im Abschnitt
Suchmuster
beschrieben wird (Hinweis: Aus Gründen der Effizienz können Muster, die
Informationen benötigen, die im Index nicht verfügbar sind - etwa
~b
, ~B
oder ~h
- nicht verwendet
werden). Wert ist eine positive oder negative ganze Zahl. Die
endgültige Punktzahl einer Nachricht ist die Gesamtsumme aus allen passenden
score
Einträgen. Es ist allerdings möglich, dem Wert ein
Gleichheitszeichen (``='') voranzustellen, um die Berechnung des Score an
dieser Stelle zu stoppen, wenn eine Übereinstimmung vorliegt. Ein negatives
Endergebnis wird auf 0 aufgerundet.
Der Befehl unscore
entfernt Score-Einträge aus der Liste.
Du musst dasselbe Muster wie beim entsprechenden score
Befehl
angeben, damit der Eintrag entfernt wird. Das Muster ``*'' ist ein
besonderes Zeichen mit der Bedeutung, dass die komplette Liste
der Score-Einträge gelöscht werden soll.
Benutzung: set
[no|inv]Variable[=Wert] [ Variable ... ]
Benutzung: toggle
Variable [Variable ... ]
Benutzung: unset
Variable [Variable ... ]
Benutzung: reset
Variable [Variable ... ]
Dieses Kommando dient dem Setzen (set) und Entfernen (unset) von Variablen. Es gibt vier grundlegende Typen von Variablen: boolean (Wahrheitswert), number (positive Ganzzahl), string (Zeichenkette) und Quad-Option. boolean-Variablen können mit set auf wahr (true) und mit unset auf unwahr (false) geschaltet werden. number-Variablen können positive ganzzahlige Werte aufnehmen.
string-Variablen bestehen aus einer beliebigen Anzahl von druckbaren Zeichen. Sie müssen von Anführungszeichen umschlossen werden, wenn Leerzeichen oder Tabulatoren enthalten sind. Die Escape-Sequenzen \n für den Zeilenvorschub und \t für den Tabulator können wie in der Programmiersprache ``C'' benutzt werden.
quadoption-Variablen legen fest, ob Mutt bei einer bestimmten Aktion den Benutzer fragen oder eine Standard-Aktion ausführen soll. Der Wert yes sorgt für eine sofortige Ausführung der Aktion, genau so, als wenn der Benutzer auf die vom Programm gestellte Frage mit ``ja'' geantwortet hätte. no funktioniert ähnlich, nur dass die Aktion so ausgeführt wird, als wenn der Benutzer mit ``nein'' geantwortet hätte. Der Wert ask-yes führt zu einer Benutzerabfrage, wobei die voreingestelle Antwort ``ja'' ist, die nur noch mit Return bestätigt werden muss. Bei ask-no ist die voreingestellte Antwort ``nein''.
Eine Variable mit vorangestelltem ``no'' schaltet die betreffende
Option ab. Beispiel: set noaskbcc
.
boolean-Variablen kann inv
vorangestellt werden, um den Wert
auf den jeweils anderen Zustand umzuschalten. Das ist besonders beim
Schreiben von Makros sinnvoll. Beispiel: set invsmart_wrap
.
Das toggle
-Kommando setzt automatisch inv
vor die
angegebenen Variablennamen.
Das unset
-Kommando setzt automatisch no
vor die angegebenen
Variablennamen.
Mit der enter-command-Funktion aus dem Menü index kann der Wert einer Variable abgefragt werden. Dazu muss dem Variablennamen ein Fragezeichen vorangestellt werden:
set ?allow_8bit
Benötigt wird das Fragezeichen nur bei Variablen der Typen boolean und Quad-Option.
Das reset
-Kommando setzt alle angegebenen Variablen auf die
einkompilierten Standardwerte, die in diesem Handbuch aufgeführt sind.
Das set
-Kommando und ein ``&'' vor dem Variablennamen führen
zum selben Ergebnis.
Für reset
gibt es die spezielle Variable ``all'', die sämtliche
Variablen auf Standardwerte zurücksetzt.
Benutzung: source
dateiname
Mit diesem Kommando können Konfigurations-Kommandos aus anderen Dateien
eingebunden werden. Ich speichere beispielsweise meine Alias-Namen (eine Art
Adressbuch) in der Datei ~/.mail_aliases
. Auf
diese Weise kann ich ~/.muttrc
für alle lesbar machen und
gleichzeitig meine Alias-Namen privat halten.
Wenn der Dateiname mit einer Tilde (``~'') beginnt, wird er durch den Pfad des Home-Verzeichnisses ersetzt.
Wenn der Dateiname mit einem Balken (``|'') endet, interpretiert mutt
diesen Dateinamen als ausführbares Programm und liest dessen Ausgabe
ein. Beispiel: source ~/bin/myscript|
Benutzung: unhook
[ * | Hook-Art ]
Dieser Befehl ermöglicht es dir, Hooks wieder zu entfernen, die du vorher
definiert hattest. Du kannst entweder alle Hooks entfernen, indem du das
Zeichen ``*'' als Argument angibst, oder du kannst alle Hooks eines speziellen
Typs entfernen, indem du etwas wie unhook send-hook
verwendest.