# ---------------------------------------------------------------------utf-8--- # Datei: Unix/03/emacs.txt # AutorIn: w dot doeringer ( at hs-worms dot de) # Modifikationen: h dot thielen ( at hs-worms dot de) # Beschreibung: Erste Aufgaben zum Kennenlernen der für [Web-]Programmierer- # Innen wesentlichsten Funktionen des [x]emacs Editors. # Revision: 2022-10-24 # ----------------------------------------------------------------------------- # ANLEITUNG - bitte kurz durchlesen! Graphische Version: Benutzen Sie den Editor zunächst nur zusammen mit einer graphischen Ober- fläche, da Sie sonst eine rein text-orientierte Version zu sehen bekommen, die schwieriger zu bedienen ist. Tastenbeschreibung; C-e Strg-Taste (bzw. ctrl-Taste) UND e Taste gleichzeitig drücken M-x ESC Taste drücken, DANACH die x Taste RET Eingabe-Taste Allgemeine Hinweise: Beenden Sie den Editor stets über FILE -> Exit Emacs bzw die Kontrolltasten C-x C-c, und NICHT durch Schließen des Fensters - im letzteren Fall gehen alle noch ungesicherten Änderungen verloren! Die Menüleiste: Files - Laden und speichern von Dateien Edit - Bearbeitung von Text Buffers - Umschalten zwischen den Puffern Options - Einstellung von Optionen Help - Hinweise zum Gebrauch, Konfiguration ein paar wichtige Kontrolltasten. Weitere finden sich im Text: C-g revidiert jede Eingabe in der Kommandozeile!! C-a Cursor zum Anfang der Zeile C-e Cursor zum Ende der Zeile C-k Zeile vom Cursor bis zu ihrem Ende löschen C-s Suchen; zweifaches Eingeben wiederholt die letzte Suche Eine Übersicht über viele emacs-Befehle finden Sie in der Datei befehle.pdf Ein Tutorial finden Sie im Hilfe-Menü. # ----------------------------------------------------------------------------- Aufgabe 1 - Laden von Dateien Diese Datei sollte bereits im Editor geladen sein! Fügen Sie nun nach dieser Zeile Ihren Vor- und Nachnamen ein, speichern die Datei ab, verlassen Emacs, und verifizieren Sie, dass die Änderungen übernommen wurden. # # FILE -> Open File, FILE -> Save (current) buffer, FILE -> Quit # # C-x C-f zum Laden, C-x C-s zum Speichern, C-x C-c beendet Emacs # ----------------------------------------------------------------------------- Aufgabe 2 - Laden von Dateien Laden Sie Ihre geänderte Datei wieder in den Editor, und bearbeiten Sie die restlichen Aufgaben. # ----------------------------------------------------------------------------- Aufgabe 3 Markieren Sie den folgenden Text und löschen Sie ihn. # # Markieren mit der Maus, dann EDIT -> Cut # # C-Leertaste markiert den Anfang des Bereiches ab Cursor-Position # C-w zum Löschen des Textes # # M-x transient-mark-mode schaltet Textmarkierung an bzw. aus Der gelöschte Text wird in den "kill-buffer" kopiert. DIESER TEXT IST ZUM LÖSCHEN GEDACHT! DIESER TEXT IST ZUM LÖSCHEN GEDACHT! DIESER TEXT IST ZUM LÖSCHEN GEDACHT! DIESER TEXT IST ZUM LÖSCHEN GEDACHT! DIESER TEXT IST ZUM LÖSCHEN GEDACHT! DIESER TEXT IST ZUM LÖSCHEN GEDACHT! # ----------------------------------------------------------------------------- Aufgabe 4 Kopieren Sie den folgenden Text dreimal an den Anfang der mit $$$ markierten Zeile (siehe unten). # # EDIT Copy, EDIT Paste - Operationen auf der Zwischenablage! # # M-w kopiert markierten Text in die Zwischenablage, # C-y kopiert ihn zurück in den Text ab der Cursor-Position DIESER TEXT IST ZUM KOPIEREN GEDACHT! DIESER TEXT IST ZUM KOPIEREN GEDACHT! DIESER TEXT IST ZUM KOPIEREN GEDACHT! DIESER TEXT IST ZUM KOPIEREN GEDACHT! DIESER TEXT IST ZUM KOPIEREN GEDACHT! DIESER TEXT IST ZUM KOPIEREN GEDACHT! $$$ # ----------------------------------------------------------------------------- Aufgabe 5 Verschieben Sie den folgenden Text vor die Aufgabe 4. DIESER TEXT IST ZUM VERSCHIEBEN GEDACHT! DIESER TEXT IST ZUM VERSCHIEBEN! DIESER TEXT IST ZUM VERSCHIEBEN GEDACHT! DIESER TEXT IST ZUM VERSCHIEBEN! DIESER TEXT IST ZUM VERSCHIEBEN GEDACHT! DIESER TEXT IST ZUM VERSCHIEBEN! # ----------------------------------------------------------------------------- Aufgabe 6 Positionieren Sie den Cursor auf DIESE Stelle und ersetzen Sie im folgenden Text die Zeichenkette ERSETZEN durch KOPIEREN # # EDIT -> Replace -> Replace String, # # M-% Text in der Emacs-Kommandozeile nach Aufforderung eingeben, dann jeweils y oder n DIESER TEXT IST ZUM ERSETZEN GEDACHT! DIESER TEXT IST ZUM ERSETZEN GEDACHT! DIESER TEXT IST ZUM ERSETZEN GEDACHT! DIESER TEXT IST ZUM ERSETZEN GEDACHT! DIESER TEXT IST ZUM ERSETZEN GEDACHT! DIESER TEXT IST ZUM ERSETZEN GEDACHT! # ----------------------------------------------------------------------------- Aufgabe 7 Stellen Sie den Editor so ein, dass Zeilen- UND Spaltennummern angezeigt werden. Wie werden die Nummern angezeigt, und worauf beziehen sie sich? Die Anzeige finden Sie in der unteren Statuszeile. # M-x column-number-mode RET # ----------------------------------------------------------------------------- Aufgabe 8 Positionieren Sie den Cursor in dieser Datei DIREKT auf die Zeile 125. # M-x goto-line RET 125 RET. # ----------------------------------------------------------------------------- Aufgabe 9 Zeigen Sie in Emacs den Inhalt des aktuellen Verzeichnisses an und wählen Sie eine der aufgelisteten Dateien zum Editieren aus. Schließen Sie den angezeigten Puffer dann wieder. # # FILE -> Open Directory das aktuelle Verzeichnis # FILE -> Close buffer # # C-x d öffnet das aktuelle Verzeichnis # C-x k schließt den aktuellen Puffer # ----------------------------------------------------------------------------- Aufgabe 10 - Anzeige in der Statuszeile Testen Sie, unter welchen Bedingungen in der Statuszeile folgende Anzeigen erscheinen: %% -- bzw. ** # ----------------------------------------------------------------------------- Aufgabe 11 Eigene Erfahrung sammeln und nützliche Aufgaben bitte mitteilen! # ----------------------------------------------------------------------------- Aufgabe 12 Laden Sie die Dateien a.txt und b.txt in den Editor, und experimentieren Sie dann mit dem emacs-internen diff Kommando. # TOOLS -> Compare -> Two buffers # ----------------------------------------------------------------------------- Aufgabe 13 - Seelentröster Mit M-x doctor # ----------------------------------------------------------------------------- # --- Anhang ------------------------------------------------------------------ # Zuordnung von Tasten(-kombinationen) zu Befehlen M-x global-set-key Befehl zum Wiederholen des letzten Befehles: C-x M-ESC # --- Bei der CLI Version von Emacs: Menüleiste erreichbar über F10, oder M-` RET oder M-x tmm-menubar RET undo: C-_ Major-mode umschalten: M-x RET, zB.: M-x c++-mode RET Direkte Eingabe von (nichtdarstellbaren) Zeichen: C-q zeichen RET # zeichen wird ohne Interpretation eingefügt, auch C-zeichen C-q drei-oktal-zahlen RET # passend zur Codierung # # Ende der Datei (Überraschung!) #