24
© Heimo Schön 12/2002 Seite 1/24 Emacs / Xemacs

© Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 1/24

Emacs / Xemacs

Page 2: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 2/24

Xemacs / Emacs

� Zwei unterschiedliche Projekte

� Emacs (ursprüngliche Projekt)

� Xemacs (etwas mehr Features)

� (X)Emacs existiert für

� DOS

� Windows

� alle UNIX-Varianten

� jeweils: Textmodus und grafische Oberfläche

Page 3: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 3/24

Xemacs / Emacs

� Früher war vi der „Unix-Standard-Editor“ ; dieser wurde mitlerweile durch emacs abgelöst

� Bedienung ist gewöhnungsbedürftig -

� aber die CTRL- und ALT- Sequenzen sind auch auf z.B. bash identisch

� in der Kommandozeile wird TAB (Expansion) und CTRL-R (revert-search) unterstützt.

Page 4: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 4/24

Emacs Starten

� Starten des Editors:$ emacs [optionen] [datei ...]$ xemacs [optionen] [datei ...]

Menüleiste

Buttons

Dateireiter

Dateibuffer

Statuszeile (des Buffers)

Kommandoeingabezeile /Meldungsausgabezeile

Page 5: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 5/24

Emacs Kommandozeile

Kommandozeile durch M-x

M- steht für die Meta-Taste. Entweder ALT- oderESC-Taste

Für M-x drücken Sie:entweder: ESC-Taste und danach die Taste xoder: ALT-Taste und Taste x gleichzeitig

Page 6: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 6/24

Emacs M- C-

„M-x Kommando“ ist häufig durch eine Tastenkombinationen vereinfacht:

entweder: M-x find-fileoder: C-x C-f

C- steht für die Ctrl-Taste

Abbruch des laufenden Kommandos mit, verlassen der Kommandozeile, usw:

C-g(mehrmals drücken schadet nicht um sicher zu sein)

Page 7: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 7/24

Emacs Statuszeile

Font (änderbar in Options-Font oder Options-Font-size)

Bufferstatus ** Buffer wurde geändert (nicht gesichert)-- Buffer ist änderbar (noch nicht geändert)%% Buffer ist schreibgeschützt (n. änderbar)

Dateiname Bearbeitungsmodus

Position im Text:All alles sichtbarTop DateianfangBot Dateiende

Page 8: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 8/24

Emacs Datei bearbeiten

Text selektierenentweder: mit Maus (linke Taste gedrückt halten)oder: C-Space und mit Cursortasten bewegen

Selektierten Text ausschneiden: C-w

Selektierten Text in Kopierbuffer holen: M-wKopierbuffer=Kill-Ring (kann bel. lang werden)

� Text aus Kopierbuffer einfügen (yank): C-y

Einträge im Kopierbuffer (Kill-Ring) M-yansehen (nach C-y ist M-y mehrf. mögl)

Page 9: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 9/24

Emacs Datei bearbeiten

Emacs beenden C-x C-c

Zeile bis zum Ende löschen C-k

� Leere Zeile löschen C-k

Undo (beliebig oft, bis zum Arbeitsbeginn) C-_

File öffnen C-x C-f

File öffnen C-x C-f C-x 4 C-f

File speichern C-x C-s

� File speichern unter neuem Namen C-x C-w

Page 10: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 10/24

Emacs Buffer

Buffer löschen (aus dem Editor) C-x C-k

In anderen Buffer wechseln C-x b

In den anderen Buffer wechseln C-x o

� Liste aller Buffer (auswählen mit f) C-x C-b

Zwei Buffer im Fenster C-x 2

Ein Buffer im Fenster C-x 1

Text in der Zeile einrücken TAB

Page 11: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 11/24

Emacs Suchen

Vorwärts suchen C-s

Rückwärts suchen C-r

� Suchstring erweitern (während C-s/C-.r) C-w

Vorwärts/Rückwärts weitersuchen C-s / C-r

Suchen mit regular-expression C-M-s

Suche beenden d. Cursor-Tasten o. ENTER

In der Suche zurückgehen BACKSPACE

� Suche abbrechen C-g

Page 12: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 12/24

Emacs Ersetzen / Ausschneiden

Ersetzen M-x replace-string

Ersetzen mit Abfrage M-%

Spalten (Rectangle) aus einem Text ausschneiden durch Selektion eines rechteckigen Bereichs (mit Maus oder C-Space und Cursortasten). Danach M-x delete-rectangle

� Zeilennummerierung M-x line-number-mode

Spaltennummerierung M-x column-number-mode

Page 13: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 13/24

Emacs Makro / Hilfe

Makro aufzeichnen C-x (Makro Aufzeichnung beenden C-x )Makro ausführen C-x e

Tutorial (Anfänger) C-x t

Hilfe Index C-h C-h

� Modus beschreiben C-h m

Alle Befehle zu einem Begriff C-h a

Infosystem starten C-h i

Page 14: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 14/24

Emacs Konfiguration

Emacs

� kleiner Kern in C (Lisp Interpreter)

� Rest in Lisp programmiert

Konfiguration erfolgt in der Lisp-Datei ~/.emacs( set q l i ne- number - mode t )( set q t each- ext ended- commands- p t )( r equi r e ' f ont - l ock)( gl obal - f ont - l ock- mode t )( set q f ont - l ock- maxi mum- decor at i on t )( r equi r e ' f unc- menu)( add- hock ' emacs- l i sp- mode- hook ' f ume- add- menubar - ent r y)( r equi r e ' cr ypt ) ( di r ekt es Öf f nen von gz- f i l es)

Page 15: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 15/24

Emacs

Terminal (shell) im Emacs öffnen M-x shell

Mail verfassen M-x mailMail absenden C-c C-c

Erweiterte Suche nach Begriffen M-x apropos

� Compilieren (System bauen) M-x compile(emacs führt in einem Buffer das Makefile aus,Fehler können mit Maus angeklickt werden - daraufhin erscheint die Source in einem neuenBuffer)

Page 16: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 16/24

Emacs

Sprung zur Definition einer Funktion(ein TAGS File muß existieren) M-.

Suchen und Ersetzen in allen Datein eines Projekts M-x tags-search

Debugger starten M-x gdb(siehe Seite 20)

� eingebaute Psychoanalyse M-x doctor

Page 17: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 17/24

Emacs / Ediff

Ediff (z.B. Tools-Compare-TwoBuffers)

Übung:$ cp / et c/ passwd . / passwd1$ xemacs passwd1 &

o i n passwd1 mehr er e Änder ungeno C- x 2o C- x C- f / et c/ passwdo Tool s- Compar e- TwoBuf f er s

Page 18: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 18/24

Directory Manipulation

Wechseln in den Directory-Editor-Mode M-x dired

Files öffnen (edit) mit „e“ oder öffnen in other-buffer mit „o“

Markieren zum Löschen mit „d“ und Löschen ausführen (execute) mit „x“

� Directroy erzeugen mit „+“

Page 19: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 19/24

Emacs als IDE (eine Übung)

Ein C-Programm erzeugen : C-x C-f hello.c

Electric-C-Mode ein-/ausschalten C-c C-a

Electric-Characters: anstatt () M-( anstatt ENTER M-J

� Compilieren: M-x compilecursor-down-Tastegcc -g -o hello hello.c

(M-X ispell-comments-and-strings)

Page 20: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 20/24

Emacs als IDE

Einrücken (indent) einer Zeile TAB

Einrücken eines Bereichs M-x indent-region

Kommentar Anfang M-;

Kommentar Ende M-q

Page 21: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 21/24

Emacs als IDE

TAG-Tabels erstellen mit etags -t * .[ch]

Dabei wird ein File TAGS erzeugt

Suchen in der Tagtabel M-.Pfad und Dateiname des TAGS-File angeben

� Suchen nach Funktionen, Variabeln, Definitionen, ...

Cursor auf die gesuchte Funktion und dann M-. drücken; damit wird diese Funktion zum Default

Beim Suchen ist tab-completition aktiv

Page 22: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 22/24

Emacs als Debugger

Gnu-debugger starten M-x gdb(Namen des Executeable „hello“ angeben)

Am GDB-Prompt eingeben:Breakpoint am Beginn von main() break main bProgramm starten run rSingle-Step next n

� GDB-Hilfe help

GDB-Beenden quit

Zum GDB-Prompt C-Ende

Page 23: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 23/24

Emacs Links

http://www.linuxjournal.com/article.php?sid=5765

Links zu beiden : http://www.emacs.org

Emacs für Windows FAQ und Download:http://www.gnu.org/software/emacs/windows/ntemacs.html

Page 24: © Heimo Schön 12/2002 Seite 1/24exd.at/Linux-xemacs.pdf · 2006. 12. 10. · Mail verfassen M-x mail Mail absenden C-c C-c Erweiterte Suche nach Begriffen M-x apropos Compilieren

© Heimo Schön 12/2002 Seite 24/24

Fragen ?

http://elina.htlw16.ac.at/~hoerandl/folien