Emacs
Emacs | |
---|---|
Emacs unter X | |
Basisdaten | |
Entwickler: | Richard Stallman |
Aktuelle Version: | 22.1 |
letzte Veröffentlichung: | 2. Juni 2007 |
Betriebssystem: | GNU/Linux, FreeBSD, AIX, Mac OS X, MS DOS, MS Windows, NetBSD, OpenBSD, Solaris, SunOS, Ultrix |
Kategorie: | Office, Texeditor, Entwicklungsumgebung |
Lizenz: | GPL |
Deutschsprachig: | Nein |
Webseite: | Webseite |
Inhaltsverzeichnis
- 1 Info
- 2 Besonderheiten
- 3 Mods
- 4 Installation
- 5 Emacs Konsole
- 6 Emacs unter X
- 7 Bedienung
- 8 Emacs Konfiguration
- 9 Screenshot
- 10 Versionen
- 11 Links
Info
1976 wurden unter dem Namen Emacs diverse Makros als Samlung für den Editor TECO zusammen getragen. So kommt auch der eigentliche Name Emacs zu stande - Editor MACroS. Im Jahre 1984 wurde vom bekannten Richard Stallman an einer neuen Implementierung gearbeitet woraus später GNU Emacs das erste Programm des GNU-Projektes entstand. Damals stand Emacs unter der GNU Emacs General Public License welche die Grundlage von GPL General Public License war.
Besonderheiten
Emacs ist ein Editor welche nicht nur für das schreiben von reinem Text gedacht ist. Viel mehr ist es eine Entwicklungsumgebung für die unterschiedlichsten Bereiche. Der Emacs Editor verfügt über diverse Mods, somit kann wür jede Aufgabe ein Entsprechender Modus gewählt werden welche für genau diese Aufgabe angepasst ist.
Mods
In den meisten verschiedenen Metriebsarten Mods wird zum Beispiel die Syntaxhervorhebung unterstützt. Diese sorg dafür das Wöter oder auch Zeichen in Farben, Schriftarten und -stilen dargestellt werden können was bei Programm-Quelltexten und Konfigurationsdateien sehr hilfreich ist um die Übersicht nicht zu verlieren da es die Lesbarkeit von texten verbessert. Natürlich bieten die diversen Modi noch einiges mehr was einem die Arbeit erleichtert. Hierzu gehören zum Beispiel auch Übersetzungsvorgänge, Syntaxprüfer und Debugger etc. Ich möchte nun schnell ein paar der bekanntesten aufzählen um sich vorstellen zu können wo man Emacs überall einsetzen kann.
- Text
- LISP
- HTML
- Perl
- Java
- C
- LaTeX
- Very High Description Language
- Kalender
- Newsreader
- Mailreader
- Shell
- FTP Client
- Webbrowser
- WikiMode
- IRC Client
- Instand Messenger
- WebServer
- MP3-Player
- Psychotherapeut
Da die Auswahl so gross ist, habe ich hier die bekanntesten genannt. Im Internet gibt es noch unzählig weitere welche man installieren und in Emacs verwenden kann. Jeh nach Distribtuion und Installation sind bei Emacs die Modi vorhanden. Wem welche fehlen und gerne diese haben möchte muss sie daher eventuell selbst nachinstallieren.
Installation
Debian
apt-get update apt-get install emacs22
Emacs Konsole
Emacs kann nach der Installation unter der Grafischen Oberfläche in einer Konsole im Textmodus gestartet werden, hierzu Emacs mit vollgender Option in der Konsole oder einem Terminal starten.
emacs -nw
Emacs unter X
Um Emacs unter X mit einer grafischen GUI zu nutzen reicht die Eingabe des Befehls.
emacs
Zum normalen Emacs gibt es auch noch ein weiteres Projekt welches sich vorgenommen hat Emacs an X anzupssen. Dieses weitere Projekt ist selbständig und gehört nicht zum eigentlichen Emacs. Der von diesem Projekt angepasste Editor nennt sich so Xemacs und muss in der Regel seperat installiert werden da er nicht zum eigentlichen Emacs dazu gehört.
Bedienung
Emacs ist ein Editor der ohnde Maus auskommt und so komplett mit Tastenkombinationen gesteuert werden kann. Ich kann hier nicht alle Kombinationen aufgrund der Fielfalt nennen, möchte aber die wichtigsten nicht ausen vor lassen.
Es gibt jede Menge von Beispielen und Anleitungen im Internet in denen die Tastenkombinationen entsprechend dargestellt werden. Hier eine kleine Erklärung:
- C-
- Bedeutet STRG
- M-
- Bedeutet ALT
- F10
- Help Modus über welchen auch Aktionen ausgeführt werden können.
- F1
- Ruft die Hilfe auf
- M-x Tabulator
- Listet die möglichen Befehle mit Autoverfollständigung
Wir wollen nun mit der Kombination zum beenden von Emacs beginnen. Diese würde man in den üblichen Anleitungen so schreiben:
- C-x C-c
- Dies bedeutet das wir zum beenden die Tasten STRG x und STRG c hintereinander drücken müssen.
Datei
öffnen * speichern * beenden
- (Öffnen) - Öffnen einer Datei, d.h. den Inhalt in einen Buffer laden.
- C-x C-f
- (Speichern) - Speichern vom Buffer Inhalt.
- C-x C-s
- (Speichern unter) - Speichern vom Buffer Inhalt in einer neuen Datei.
- C-x C-w
- (Beenden) - Beendet Emacs und frägt bei noch nicht gespeichertem nach.
- C-x C-c
Buffer
listen * wählen * löschen
Bei Emacs werden geöffnete Inhalte in einen Buffer geladen, es können so auch mehrere Dateien geöffnet werden dessen Inhalt in mehreren Buffern zu finden ist und zwischen denen man hin und her schalten kann.
- (listen) - Listet alle Buffer auf.
- C-x C-b
- (wählen) - Taste STRG x b drücken und anschliessend den Buffername schreiben um in ihn zu wechseln; zuvor am besten offene Buffer auflisten lassen.
- C-x b <buffername>
Einzutragen ist dies im untersten Emacs Fenster nach der Kombination C-x b wo steht:
Switch to buffer (default *scratch*):
Beispiel:
Switch to buffer (default *scratch*): *Messages*
- (löschen) - Löscht den aktuellen Buffer
- C-x k
Fenster
teilen * wechseln * abschalten
Die div. Fenster in denen der Bufferinhalt oder sonstiges zu sehen ist kann entsprechend den eigenen Wünschen angepasst werden. So kann man zum Beispiel im oberen Teil ein Fenster mit einem Text geöffnet haben um daraus zu lesen und es in das untere Fenster zu schreiben.
- (teilen) - Teilt ein Fenster horizontal.
- C-x 2
- (wechseln) - In ein anderes Fenster wechseln.
- C-x o
- (abschalten) - Das aktuelle Fenster abschalten.
- C-x 0
Modus
Wenn wir unseren Emacs starten, so ist dieser als Standart meist im (Lisp) Modus. Weiter oben wurde ja bereit geschrieben das Emacs diverse unterschiedliche Modi zur verfügung stellt welche diverse Funktionen für bestimmte Aufgaben haben. Emacs ist in der Regel recht schlau und nimmt uns was die Wahl des Modi angeht schon einiges an Arbeit ab. Haben wir also unseren Emacs gestartet, und öffnen mit ihm nun eine Datei welche HTML Code beinhaltet, so schatet Emacs automatisch um und öffnet diese Date im HTML-Modus. Wir können immer sehen in welchem Modus wir uns gerade befinden, dazu muss man sich die leiste am unteren Rand nur etwas genauer ansehen. Der (Lisp Interaction) ist in der Regel der Standartmodus und wird so auch in der Statusleiste angezeit. Wenn man sich den Screenshot vom Emacs im Textmodus anschaut so wird man hier den (Emacs-Lisp) Modus sehen, beim Screenshot von Emacs unter X ist es (HTML-Fly) da hier eine HTML Datei geöffnet ist. So aber wie können wir nun selbst unseren Modus in welchem wir arbeiten wollen bestimmen.
- < modus > -mode
- M-x < gewünschter modus > -mode
- Text Modus
- M-x text-mode
- HTML Modus
- M-x html-mode
- LaTeX Modus
- M-x latex-mode
- C++ Modus
- M-x c++-mode
- LISP Modus
- M-x lisp-mode
- Perl Modus
- M-x perl-mode
- Java Modus
- M-x java-mode
- Very High Description Language Modus
- M-x vhdl-mode
- Kalender Modus
- M-x calendar
- Newsreader Modus
- M-x gnus
- Shell script Modus
- M-x sh-mode
- FTP Client
- M-x ftp
- Webbrowser
- M-x w3m
- Mail (Empfang)
- M-x rmail
- Mail (Versand)
- M-x mail
Und noch viel mehr sind jeh nach Installation verfügbar. Sollte ein Modus nicht vorhanden sein, so kann dieser in der Regel nachinstalliert werden. Das MeltiMedia Modus wäre so zum Beispiel der emms-mode um MP3 Files abspilen zu können. Wer eine kleine Übersicht haben möchte welche Befehle ihm unter ALT-x zu verfügung stehen kann dort einmal die Tabulatortaste für die Vervollständigung drücken.
Da jeder Modus eigene Funktionen und Optionen mit sich bringt, kann ich dies hier alles nicht aufzählen, mehr Infos soltext ihr aber in den Dokumentationen oder dem Netz finden. Auf ein paar kleine Funktionen und Einstellungen werde ich in der Emacs Konfigurationsdatei eingehen.
Ich möchte hier schnell eine Möglichkeit zeigen um einen Text unter Emacs drucken zu können. Da es unter Linux div. Werkzeuge zum drucken gibt und bei dadurch die Konfiguration bei jedem etwas anderst sein könnte, will ich mich hier auf das ausdrucken in deine PostScript Datei beschränken. Diese PostScript Datei kann so nach der Erstellung von jedem auf seinem System über den ihm bekannten Weg gedruck werden.
Zum drucken unter Emacs muss von uns zu aller erst die zu druckende Datei geöffnet werden. Haben wir dies getan, so lassen wir von Emacs diesen geöffneten Text in PostScript Form umwandeln welche danach in einem Extra Buffer dargestellt und anschliessend als *.ps Datei gespeichert werden muss.
Datei öffnen -> M-x ps-spool-buffer -> M-x buffer-menu -> *PostScript* -> Datei als < Dateiname >.ps speichern.
- ps-spool-buffer - (für Schwarz-Weiss)
- ps-spool-buffer-with-faces - (für Farbe)
Info:
Eine weitere Möglichkeit Text zu drucken wäre der Weg über LaTeX. Ich kenne viele die gerne ihre Texte zuerst in den LaTeX Mode kopieren da hier entsprechend gestalltet (Grösse, Schriftart, Farbe, Formatierung etc.) eingestellt werden kann und anschliessend in PS oder DIV kompilieren um es dann an den Drucker zu senden.
Emacs Konfiguration
Man kann für Emacs eine Konfigurationsdatei anlegen in der bestimmte Dinge den eigenen Wünschen angepasst werden können. Ich kann dies nur jedem empfehlen der vorhat sich ein bisschen mehr mit Emacs zu beschäftigen. Die entsprechende Konfigurationsdatei ist im /home/ ~ / anzulegen und nennt sich .emacs
/home/ ~ /.emacs
Anzeige
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;; ;;; Anzeige ;;;;;;;;;;; ; Zeilenposition ; Durch diese Zeile wird die Zeilenprosition in der unteren Statusleiste angezeigt. (setq line-number-mode t) ; Spaltenposition ; Durch diese Zeile wird die Spaltenprosition in der unteren Statusleiste angezeigt. (setq column-number-mode t) ; Hervorhebung ; Zusammengehoerenden Klammerpaaren werden hervorgehoben. ; Nummer 1 bedeutet yes und nummer 0 bedeutet no. ; Sollte nicht im Betrieb geaendert werden. (show-paren-mode 1) ; Anzeigen von Uhrzeit und Datum in der unteren Statusleiste. (setq display-time-24hr-format t) (setq display-time-day-and-date t) (display-time) ; Keine Startup Message Meldung mehr beim starten von Emacs. (setq inhibit-startup-message t) ; Anti Aliasing (setq allow-anti-aliasing t fill-column 72) ; Laufleiste ein oder aus ausschalten (scroll-bar-mode -1) ; Schaltet blinkenden Cursor ein/aus. (blink-cursor-mode nil) ; Setzt Frame Titel und Buffer Name. (setq frame-title-format '("good luck " ("%f %m %b %a %D %I:%M:%S%p"))) ; Setzt Icon Titel und Buffer Name. (setq icon-title-format '"Gnu Emacs") ; Im Konsolenmodus "emacs -nw" keine obere Menueleiste (unless window-system (menu-bar-mode 0))
Effekte
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;; ;;; Effekte ;;;;;;;;;;; ; Sound ; Schaltet den Pip-Ton ab. (defun jbn-no-beep()) (setq ring-bell-function 'jbn-no-beep)
Default Mode
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Default Modus einstellen ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Hier kann ein default Modus eingestellt werden. ; Text Modus waere in diesem Beispiel default. (setq default-major-mode 'text-mode) ; P.S. Man sollte wirklich gut überlegen ob man den dies möchte, da es mir nicht gerade sinvoll erscheint !
Rechtschreibprüfung
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;; ;;; Rechtschreibpruefung ;;;;;;;;;;;;;;;;;;;;;;;; ; Rechtschreibpruefung kann unter Emacs in allen Modi verwendet werden. ; Hier wird fuer die Rechtschreibpruefung das Programm ''ispell'' verwendet welches bei jeder Distribution ; mit dabei sein sollte. Anstelle von ispell kann auch aspell verwendet werden. (setq-default ispell-program-name "ispell") ; Ispell wird automatisch fuer den Buffer geladen. (autoload 'ispell-buffer "ispell") ; Ispell kann manuell mit der Tasenkombination C-c C-v also STRG-c STRG-v gestartet werden. (global-set-key "\C-c\C-v" 'ispell-buffer) ; Ispell wird im ''Text Modus'' waerend dem eigentlichen schreiben verwendet und muss nicht manuell ; gestartet werden. (add-hook 'text-mode-hook 'flyspell-mode) ; Ispell kann auch manuell in jedem Mode aufgerufen werden durch die Eingabe von M-x ispell also ALT-x ispell ; P.S. Die Datei für Ispell welche neu hinzugefuegte Wörter beinhaltet ist in ~/.ispell zu finden.
Text-Mode
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;; ;;; Text-Mode ;;;;;;;;;;;;; ; TEXT Mode mit Zeilenumbruch bei dem 72 Zeichen. ; Es wird also nach spaetestens dem 72 Zeichen umbrochen. (add-hook 'text-mode-hook (lambda () (setq fill-column 72) ; Der Zeilenumbruch. ; Wird automatisch waerend dem schreiben durchgefuehrt. Manuell mit M-q also ALT-q (turn-on-auto-fill))) ; README Dateien werden im Text-Mode geoeffnet. (setq auto-mode-alist (cons '("\\README" . text-mode) auto-mode-alist)) ; TXT Dateien werden im Text-Mode geoeffnet: (setq auto-mode-alist (cons '("\\.txt$" . text-mode)auto-mode-alist))
LaTeX-Mode
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;; ;;; LaTeX-Mode ;;;;;;;;;;;;;;; ; TEX Dateien werden im LaTeX-Mode geoeffnet. (setq auto-mode-alist (cons '("\\.tex$" . latex-mode)auto-mode-alist)) ; LaTeX-Mode mit ''nicht Automatischem'' Zeilenumbruch. ; Manuell mit M-q also ALT-q möglich. (add-hook 'latex-mode-hook (lambda () ; Umbruch bei 72 Zeichen (setq fill-column 72) ; Schaltet Automatischen Umbruch ab. (turn-off-auto-fill))) ; Programm zum Kompilieren der LaTeX u. TeX Dateien. (setq-default latex-run-command 'latex)
HTML-Mode
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;; ;;; HTML-Mode ;;;;;;;;;;;;;; ; HTML Dateien werden im HTML-Mode geoeffnet. (setq auto-mode-alist (cons '("\\.html$" . html-mode)auto-mode-alist)) ; HTM Dateien werden im HTML-Mode geoeffnet. (setq auto-mode-alist (cons '("\\.htm$" . html-mode)auto-mode-alist)) ; HTML-Mode mit ''nicht Automatischem'' Zeilenumbruch. ; Manuell mit M-q also ALT-q möglich. (add-hook 'html-mode-hook (lambda () ; Umbruch bei 72 Zeichen (setq fill-column 72) ; Schaltet Automatischen Umbruch ab. (turn-off-auto-fill)))
Mutt
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Emacs im MUTT Mail-Client ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Wird der Mail-Client ''Mutt'' verwendet mit dem Editor Emacs, so wird mit Hilfe dieser Zeile der Editor Emacs ; beim schreiben einer neuen Mail im Text-Mode gestartet welcher zudem bei 72 Zeichen umbricht und mit der ; Rechtschreibprüfung Ispell arbeitet. (Falls installiert und entsprechend konfiguriert. Siehe Konfigurationsbeispiele!) (setq auto-mode-alist (cons '("\\mutt" . text-mode) auto-mode-alist)) ; P.S. In der .muttrc waere als Editor "emacs -nw" einzutragen.
Backup
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;; ;;; Backup-Datei ;;;;;;;;;;;;;;;; ; Backups generell erstellen. (setq-default make-backup-files t) ; Copy-File anstelle von Ren-File. (setq-default backup-by-copying t) ; Wie viele alte Backup Versionen sollen beibehalten werden. ; Default ist hier 2. (setq-default kept-new-versions 10) ; Automatisches speichern einer Datei. (setq-default auto-save-default t) ; Automatisches speichern alle paar Sekunden oder Minuten ; Hier den Wert in Sekunden angeben. (setq-default auto-save-timeout 300)
Kalender
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;; ;;; Kalender ;;;;;;;;;;;; ; Pfad zur Kalenderdatei in welcher die Daten gespeichert werden. ; Die .diary Datei im Homeverzeichniss. (setq diary-file "~/.diary") ; Kalender Benachrichtigung bei Ereignissen (display-time) (add-hook 'diary-hook' appt-make-list) (diary 0) ; Europaeisches Kalender Aussehen verwenden. (setq european-calendar-style t) ; Anzeige der Zeit beim Kalendermodus in der Statusleiste. (setq calendar-time-display-form '(24-hours ":" minutes (if time-zone " (") time-zone (if time-zone ")"))) ; Anzeigen von Datum beim Kalendermodus in der Statusleiste. (setq calendar-date-display-form '((if dayname (concat dayname ", ")) day " " monthname " " year)) ; Unterstreicht im Kalendermodus den heutigen Tag. (add-hook 'today-visible-calendar-hook 'calendar-mark-today) ; Eine Woche beginnt in der Kalenderansicht mit Montag als ersten Tag anstelle von Sontag. (setq calendar-week-start-day 1) ; Fuer deutsche Tagesnamen im Kalender. ; Hierbei stimmt allerdings die Farbliche Kennzeichnung der Feiertage nicht mehr ; ueberein. Anstelle von Mo. bis Fr. ist Mon. u. Fr. eingefaerbt. (setq calendar-day-name-array ["Sonntag" "Montag" "Dienstag" "Mittwoch" "Donnerstag" "Freitag" "Samstag"]) ; Fuer deutsche Monatsnamen im Kalender. (setq calendar-month-name-array ["Januar" "Februar" "März" "April" "Mai" "Juni" "Juli" "August" "September" "Oktober" "November" "Dezember"]) ; Eintraege im Kalender markieren, kann auch manuell mit der Taste M gemacht werden. ; Hier wird automatisch nach dem Start alles Markiert wo Eintraege vorhanden sind. (setq mark-diary-entries-in-calendar t)
Tabulator
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Tabulator Einstellung ;;;;;;;;;;;;;;;;;;;;;;;;; ; Ein Tabulator ist 8 Spaces. ; Der Wert 8 ist auch default. (setq-default tab-width 8)
F-Tasten Belegung
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;; ;;; F-Tasten Belegung ;;;;;;;;;;;;;;;;;;;;; ; Belegt die F4 Taste mit der Rechtschreibpruefung "ispell". (define-key global-map [(f4)] 'ispell) ; Belegt die F5 Taste mit dem Kalender. (define-key global-map [(f5)] 'calendar)
Frame Grösse
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;; ;;; Frame Groesse ;;;;;;;;;;;;;;;;; ; Hier kann die Frame Groesse eingestellt werden. Es ist die Groesse des Emacs bereiches in der Konsole. ; Diese werte bitte vorsichtig waehlen, wir haben hier die Standartgroesse wie man sie von Konsolen mit 25x80 kennt. (set-frame-height (selected-frame) 25) (set-frame-width (selected-frame) 80) ; P.S. In der Regel werden diese Einstellungen nicht benoetigt und sollten daher weg gelassen werden.
Farben
Mit diesen Farbeinstellungen erscheint Emacs in Blau/Weiß auf dem Bildschirm.
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;; ;;; Farben ;;;;;;;;;; (custom-set-faces '(default ((t (:family "Courier" :foreground "white" :background "darkblue" :size "14pt" :bold nil)))) '(custom-comment-tag-face ((((class color) (background light)) (:foreground "lightgrey")))) '(custom-state-face ((((class color) (background light)) (:foreground "lightgreen")))) '(font-latex-math-face ((((class color) (background dark)) (:foreground "light coral")))) '(font-latex-sedate-face ((((class color) (background dark)) (:foreground "LightGray" :weight bold)))) '(font-lock-comment-face ((((class color) (background light)) (:foreground "lightgrey")))) '(font-lock-function-name-face ((((class color) (background light)) (:foreground "red")))) '(font-lock-keyword-face ((((class color) (background light)) (:foreground "white" :bold nil)))) '(font-lock-preprocessor-face ((((class color) (background light)) (:foreground "grey" :bold nil :italic nil)))) '(font-lock-string-face ((((class color) (background dark)) (:foreground "goldenrod" :background "darkblue")))) '(region ((((class color) (background dark)) (:background "light grey" :foreground "black")))))
GNUS Mail
Mit Emacs ist es ebenfalls möglich mit der hier gezeigten Vorgehensweise Mails aus seinem Postfach zu holen oder welche zu versenden.
Grundeinstellungen
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; GNUS Mail Grundeinstellungen Header ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; : Die eigene eMail Adress angeben. (setq user-mail-address "Peter@Mail.de") ; Seinen Vor.- und Nachnamen angeben. (setq user-full-name "Peter Musterman") ; Hier wird der Sender im Mailheader geloescht. (setq message-syntax-checks ' ((sender . disabled))) ; Zuerst werden alle Headerinformationen erzeugt. (setq message-generate-headers-first t)
Empfang RMAIL
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;; ;;; GNUS Mail Empfang POP ;;;;;;;;;;;;;;;;;;;;;;;;; ; Den Mailserver eintragen. (setenv "MAILHOST" "pop3.web.de") ; Das Passwort wird beim Verbindungsaufbau abgefragt. (setq rmail-primary-inbox-list ' ("po:Peter@Mail.de") rmail-pop-password-required t)
Versand SendMail
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; GNUS Mail Versand SMTP ;;;;;;;;;;;;;;;;;;;;;;;;;; (setq message-send-mail-function 'smtpmail-send-it send-mail-function 'smtpmail-send-it ; Den SMTP Server eintragen smtpmail-smtp-server "smtp.web.de smtpmail-local-domain nil smtpmail-debug-info t)
NewsReader
Hier ein Beispiel für die Konfiguration das man Emacs als NewsReader nutzen kann.
Grundeinstellungen
;;; Ausgeklammerter Text im Code welcher nicht zu beruecksichtigen ist wird mit dem Semikolo (;) gekennzeichnet. ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; NewsReader Konfiguration ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Den NNTP News Server eintragen, hier im Beispiel einer von Arcor. (setq gnus-select-method ' (nntp "news.arcor.de")) ; Userdaten und Zugangsinformationen zum NNTP Server werden in einer seperaten Datei ; namens .authinfo im Homeverzeichniss gespeichert. (setq nntp-authinfo-file "~/.authinfo") ; Allgemeine Einstellungen: eMailadresse und Name der verwendet werden soll. user-mail-address "Peter@Mail.de" user-full-name "Peter Musterman" ; Zuerst Message-ID vom Server generieren. (setq message-syntax-checks '((message-id . disabled))) ; Zeitanzeige und Darstellung v. Datum, Auflistung etc. (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) (setq gnus-group-line-format "%M%S%5y: %(%~(pad-right 60)g%) Last read on: %uT\n") (require 'gnus-spec) (defun gnus-user-format-function-T (dummy) (let ((time (gnus-group-timestamp gnus-tmp-group))) (format-time-string "%d.%m.%Y %T" time))) (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) ; Gruppen sollen hierarchisch sortiert werden (topic-mode). (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) ; Formatierung der group-line: GNUS. (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) ; Die group-line. (setq gnus-group-line-format "%M\%S\%p\%P\%5y: %(%-40,40G%) %ud\n") ; Format - Darstellung der Zeitausgabe. (defun gnus-user-format-function-d (headers) (let ((time (gnus-group-timestamp gnus-tmp-group))) (if time (format-time-string "%b %d %H:%M" time) ""))) ; Summary-Line. (setq gnus-user-date-format-alist '(((gnus-seconds-today) . " %k:%M") ; heute (16:10) ((+ 86400 (gnus-seconds-today)) . "gestern %k:%M") ; gestern 16:10 ((+ 604800 (gnus-seconds-today)) . "%a %k:%M") ; Mon 16:10 ((gnus-seconds-month) . "%a %d") ; Mon 18 ((gnus-seconds-year) . "%b %d") ; Jan 18 (t . "%b %d '%y")) ; Jan 18 '01 gnus-summary-line-format (concat "%*%U%R%z" "%-14&user-date;" "%[%4L%] %*" "%(%-24,24f %)" "%1{ %B%s%}\n")) ; Faces zur besseren Unterscheidung der Ebenen. (copy-face 'default 'mysubject) (set-face-foreground 'mysubject "indianred") (setq gnus-face-1 'mysubject) (copy-face 'default 'mytime) (set-face-foreground 'mytime "green") (setq gnus-face-2 'mytime ; Grafische Baumestruckturdarstellung. (setq gnus-sum-thread-tree-root "\x4912f " ; "> " gnus-sum-thread-tree-false-root "\x490f8 " ; "> " gnus-sum-thread-tree-single-indent " " ; "" gnus-sum-thread-tree-leaf-with-other "\x4903c\x49020\x490fa " ; "+-> " gnus-sum-thread-tree-single-leaf "\x490b0\x49020\x490fa " ; "\-> " gnus-sum-thread-tree-vertical "\x49022" ; "| " ; Threads sollen sortiert werden. gnus-thread-sort-functions '(gnus-thread-sort-by-number gnus-thread-sort-by-total-score)) ; Der erste Thread einer Gruppe soll nicht automatisch expandiert werden. (setq gnus-auto-select-first 'unseen-or-unread) (add-hook 'gnus-summary-prepared-hook 'gnus-summary-hide-all-threads)
.authinfo
Userdaten und Zugangsinformationen zum NNTP Server werden in einer seperaten Datei gespeichert.
\home\ ~ \.authinfo
Wie hier im Beispiel muss der Server news.arcor.de eingetragen werden, der Login-Name am Server Peter und das dazu gehörige Passwort 0100101 muss richtig angegeben werden.
machine news.arcor.de login Peter password 1100101
Screenshot
Versionen
- Emacs das Original.
- XEmacs eine Alternatieve unter X.
- MicroEmacs für viele Platformen.
- Carbon Emacs nur für Mac.
- EmacsApp nur für Mac.
- Zile sehr schlank.
Links
- Emacs Homepage
- Emacs Wiki
- Emacs Wiki
- Originaldokument v. Richard Stallman (PDF) Emacs The Extensible, Customizable Self-Documenting Display Editor