GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erste Schritte mit Emacs:Grundlegende Befehle erklärt

Es gibt viele textbasierte Editoren in Linux. Einige sind in den meisten Distributionen enthalten, andere müssen nachträglich installiert werden. Textbasierte Editoren sind ein wichtiges Werkzeug für jeden Linux-Benutzer oder -Administrator. Server haben oft keine GUI, und obwohl Linux an sich sehr stabil ist, habe ich viele Male GUI-Abstürze gesehen. Wenn Sie Ihre GUI verlieren, ist es ein Muss, eine Reihe von textbasierten Tools zu haben, mit denen Sie vertraut sind.

Bevor ich mit den Grundlagen der Bedienung von GNU Emacs beginne, möchte ich zuerst etwas klarstellen. Sie kennen wahrscheinlich den „Emacs Vs Vim“-Krieg, der für viele überhitzte Diskussionen verantwortlich ist. Ich liebe Vim, benutze es seit über einem Jahrzehnt. Aber hier ist die Sache mit Emacs, es ist nicht nur ein Texteditor.

Im Kern könnte Emacs einfach als ein Gerüst aus Puffern und Frames beschrieben werden. Mit Frames teilen Sie Ihre Fenster auf, Sie können so viele Frames haben, wie Sie möchten. Im GUI-Modus können Sie mehrere Emacs-Fenster haben, die jeweils einen oder mehrere Frames enthalten. Dann haben Sie die Puffer, Puffer werden mit Inhalten gefüllt, die von irgendwoher eingespeist werden. Wenn Sie einen Puffer mit einer Datei füttern, spielt Emacs die Rolle eines Texteditors. Sie können sogar Emacs als Fenstermanager verwenden.

Machen Sie sich mit dem Emacs-Layout vertraut

Konzentrieren wir uns zunächst auf die Grundlagen. Hier lernen Sie die Grundlagen der Bedienung von Emacs kennen.

Emacs kann direkt über die Paketverwaltung Ihrer Distribution installiert werden. Nach der Installation startet der Start von Emacs den GUI-Modus. Dieser Modus kann beim Start nützlich sein, da er einen Zugriff auf die Menüleiste bietet. Es ist wichtig, sich daran zu erinnern, dass jeder Menüeintrag einfach einen Emacs-Befehl ausführt und dies alles im Textmodus erfolgen kann. Um den Textmodus in einer GUI-Umgebung zu erzwingen, führen Sie emacs –nw aus in einem Terminal.

Wenn Sie Emacs zum ersten Mal starten, wird Ihnen ein Begrüßungsbildschirm angezeigt. Dieser Bildschirm zeigt bereits weitere Emacs-Features an. Die unterstrichenen Texte sind Links, sie können mit einem Mausklick aktiviert werden oder mit dem Cursor auf einem die Eingabetaste drücken. Einige sind Links zu einer Webseite, die höchstwahrscheinlich eww (eingebauter Emacs-Webbrowser) öffnen würden. Auf dieser Seite gibt es auch ein integriertes Tutorial.

Ihr anfängliches Layout wird aus einem einzigen Rahmen bestehen, der höchstwahrscheinlich den Inhalt von About Emacs enthält. Unterhalb des Rahmens befindet sich die Statusleiste und ein scheinbar leerer Bereich unterhalb der Statusleiste. Dieser leere Bereich ist eigentlich ein Minipuffer, den Emacs verwendet, um mit Ihnen zu interagieren. Im Bild hat der Minipuffer den Text is undefined.

Das wesentliche Konzept der Tastenzuordnungen in Emacs

Mit Tastenkombinationen (oder Tastenkürzeln) steuern Sie Emacs. Es beginnt immer mit einer Tastenkombination.

Emacs verwendet Zusatztasten als Präfix für die Tastenbindung. Die wichtigsten Modifikatoren sind C (Strg), M (Meta), S (Shift). M (Meta, normalerweise ALT zugewiesen).

Zusammenfassend lautet die Schlüsselkonvention:

  • C =Strg
  • M =Meta =Alt
  • S =Verschiebung

Ich denke ehrlich, dass die Tastenbelegung einer der Hauptgründe dafür ist, dass Leute davon absehen, Emacs zu lernen. Es gibt über 1300 Tastenbelegungen in einem Standard-Emacs-Setup. Aber vergessen Sie nicht, dass Emacs nur ein Texteditor ist, wenn Sie Dateien bearbeiten, diese über 1300 Tastenbelegungen können viel mehr als nur Dateien bearbeiten.

Wie fängt man also an, Emacs und seine Besessenheit von Tastenbelegungen zu lernen? Es ist ziemlich einfach, die Grundidee ist, ein paar Tastenkombinationen gleichzeitig zu üben, sie werden sehr schnell zu einem Muskelgedächtnis. Wenn ich Videolektionen über Emacs aufzeichne, sage ich die Tastenbelegung, während ich sie drücke, naja, zumindest versuche ich es. Die Wahrheit ist, dass die Tastenanschläge lange gemacht und verarbeitet wurden, während ich immer noch versuche herauszufinden, welche es waren. Der größte und schwierigste Teil ist dieses Dokument.

Fangen wir an und denken Sie daran, die Tastenbelegung viel zu üben!

Am besten lässt sich anhand einiger Beispiele erklären, wie wir Tastenbelegungen schreiben. Nicht alle Beispiele sind jedoch funktionale Tastenbindungen:

  • C-x =STRG+x
  • C-x 2 =Drücken Sie STRG und x, dann drücken Sie 2 (die STRG-Taste muss losgelassen werden, bevor Sie 2 drücken)
  • C-x C-2 =Drücken Sie STRG und x, dann STRG und 2. Oder STRG-x-2 (Lassen Sie STRG nicht los)
  • M-x-Befehl =Drücken Sie META+x

Sie werden auch regelmäßig in der Dokumentation die Tastenbelegung sehen, die mit Text in ().

geschrieben ist
C-x C-f (find-file)

Der Text in () stellt die Emacs-Funktion dar, die mit dieser Tastenbelegung ausgeführt wird. Warum das wichtig ist, wird sich bald zeigen.

Emacs Lieblingstasten sind STRG und ALT. Während die ALT-Taste kein Problem darstellt, ist bekannt, dass die häufige Verwendung der linken STRG-Taste Probleme mit dem kleinen Finger verursacht. Sie können xmodmap ganz einfach verwenden, um die STRG- und FESTSTELLTASTE oder jede andere Taste Ihrer Wahl auszutauschen.

Verwenden von Emacs mit Tastenbelegungen, auch bekannt als Emacs-Befehle

Konzentrieren Sie sich, wie bereits erwähnt, darauf, jeweils ein paar Tastenkombinationen zu lernen, sie werden zu einem Muskelgedächtnis. Der erste Satz ist der schwierigste Teil, reicht aber aus, um mit Emacs als Texteditor zu arbeiten.

Manipulieren von Frames
C-x 2 geteiltes Fenster unten
C-x 3 geteiltes Fenster rechts
C-x o anderes-fenster
C-x 1 anderes-fenster-löschen
C-x 0 Löschfenster
Puffer manipulieren
C-x b Umschalten auf Puffer
C-x C-B Listenpuffer
C-xk Kill-Puffer
Dateien öffnen und speichern
C-x C-f find-Datei
C-x C-s Speicherpuffer
Suchen &Ersetzen
C-s Suche-vorwärts
C-r Suche rückwärts
Auswählen, ausschneiden, kopieren und einfügen
C- Markierungsbefehl
C-w kill-region
M-w kill-ring-save
C-y Ruck
Befehle ausführen
M-x execute-extended-command

Lassen Sie uns im Detail darüber sprechen.

Manipulation von Frames in Emacs

Wie bereits erwähnt, teilt Emacs sein Fenster durch Frames auf. Bevor wir etwas über Puffer lernen, schauen wir uns an, wie wir unseren Bildschirm aufteilen.

  • C-x 2 teilt den aktuellen Frame horizontal.
  • C-x 3 teilt den aktuellen Frame vertikal.
  • C-x o verschiebt den Fokus auf das nächste Bild. Wenn der Minipuffer aktiv ist, wird er Teil des Zyklus sein.
  • C-x 1 schließt alle anderen Frames und lässt nur den aktuellen Frame übrig. Puffer werden nicht geschlossen.
  • C-x 0 schließt den aktuellen Frame.

Das folgende Bild zeigt viele Frames, einige zeigen den gleichen Puffer, aber mit einem Cursor an einer anderen Position.

Manipulieren von Puffern in Emacs

  • C-x b (Switch-to-Buffer)
  • C-x C-B (Listenpuffer)
  • C-x k (Kill-Puffer)

Puffer sind das, womit Sie arbeiten, Puffer enthalten Daten, meistens Text. Wenn Sie eine Datei öffnen, wird der Inhalt dieser Datei in einen Puffer gestellt. Dieser Puffer wird nach dem Dateinamen benannt. Sie arbeiten dann innerhalb des Puffers. Änderungen werden auf die Quelle (Datei) angewendet, wenn das Speichern angefordert wird. Standardmäßig verfügt Emacs über eine automatische Speicherung. Es speichert nicht alle x Minuten, sondern alle x Änderungen am Puffer. Ein offener Puffer ohne Modifikation löst die automatische Speicherung nicht aus.

Um zu einem anderen Puffer zu wechseln, drücken Sie C-x b, der Minipuffer wird aktiviert und ist bereit, den Puffernamen zu empfangen. Die Autovervollständigung ist an die -Taste gebunden. Wenn mehrere Übereinstimmungen möglich sind, drücken Sie ein zweites Mal , um einen temporären Puffer mit allen möglichen Übereinstimmungen zu erstellen. Wenn Sie einen nicht vorhandenen Puffernamen angeben, wird ein neuer Puffer erstellt. Dadurch wird KEINE neue Datei erstellt. Ich verwende dies oft, um einen temporären Puffer zu erstellen.

Es dauert nicht lange, viele Puffer zu haben, und Sie können sich vielleicht nicht an alle erinnern. Um alle derzeit geöffneten Puffer aufzulisten, drücken Sie C-x C-b . Ein neuer Puffer wird in einem geteilten Rahmen mit der vollständigen Pufferliste geöffnet. Innerhalb dieses Puffers können Sie mit der Pfeiltaste manövrieren und mit zum Puffer wechseln .

Aus der Pufferliste heraus können Sie den Eintrag an der Stelle kennzeichnen für:

  • Speichern durch Drücken von s
  • Löschen (Löschen des Puffers, löscht die Datei nicht) durch Drücken von d oderk
  • Entfernen Sie Flaggen, indem Sie u drücken
  • Führen Sie alle markierten Flaggen aus, indem Sie x drücken

Um einen Puffer zu beenden, drücken Sie C-x k Der Mini-Puffer wird aktiviert und wartet auf einen Puffernamen. Sie können einen beliebigen vorhandenen Puffernamen eingeben und drücken . Sollten Sie keinen Namen angeben und drücken, wird Emacs den aktuellen Puffer schließen.

Das folgende Bild zeigt die Pufferliste mit zum Speichern oder Löschen gekennzeichneten Puffern.

Dateien in Emacs öffnen und speichern

  • C-x C-f (Suchdatei)
  • C-x C-s (Speicherpuffer)

Meistens müssen Sie mit Dateien arbeiten. Öffnen Sie zunächst eine Datei, indem Sie C-x C-f. drücken Der Mini-Puffer präsentiert Ihnen einen Pfad und ist bereit für Sie, den Pfad für die Datei einzugeben, die Sie öffnen möchten. Auch hier funktioniert die Autovervollständigung, vervollständigt Verzeichnis- und Dateinamen automatisch. Wenn Sie mit dem Dateipfad zufrieden sind, drücken Sie . Ein neuer Puffer mit dem Inhalt der Datei wird geöffnet. Der Puffer wird nach der Datei benannt. Sobald ein Puffer geändert wurde, erscheinen 2 Sterne auf der linken Seite der Statusleiste. So speichern Sie Ihre Änderung:C-x C-s

Wenn Sie nach dem Drücken von C-x C-f einen Pfad zu einer nicht existierenden Datei angeben, wird ein neuer Puffer erstellt, aber die Datei wird nur erstellt, wenn Sie den Puffer speichern.

Wenn Sie nach C-x C-f einen Verzeichnispfad angeben, wird ein neuer Puffer mit dem Inhalt des Verzeichnisses geöffnet. Dieser neue Puffer befindet sich im DIRED-Modus. Im DIRED-Modus können Sie mit den Pfeiltasten manövrieren. Wenn Sie auf der gewünschten Datei sind, drücken Sie und sie wird in einem neuen Puffer geöffnet. Sollten Sie erneut in einem Verzeichnis drücken, wird erneut ein neuer Puffer im DIRED-Modus geöffnet.

Im DIRED-Modus können viele Operationen am Dateisystem durchgeführt werden, aber wie bereits erklärt, konzentrieren wir uns zuerst auf die Grundlagen.

Wenn Sie auf einem Linux-System arbeiten, müssen Sie häufig an Dateien arbeiten, die Root-Zugriff erfordern. Emacs handhabt dies sehr gut. Schließen Sie Emacs nicht und führen Sie es als root aus, das ist keine gute Idee.

Drücken Sie C-x C-f Löschen Sie dann den angegebenen Pfad im Minipuffer und ersetzen Sie ihn durch /sudo::/path/to/file . Emacs versucht, die Datei mit dem sudo-Befehl and zu öffnen Bei Bedarf werden Sie nach Ihrem Passwort gefragt.

Sollten Sie versuchen, die automatische Vervollständigung zu verwenden, wird Ihr Passwort bei Bedarf abgefragt und die automatische Vervollständigung funktioniert. Der DIRED-Modus kann als Root geöffnet werden. Beachten Sie, dass ein neuer Puffer namens *tramp/sudo …. wird erstellt. Dies ist ein Puffer, der von Emacs benötigt wird, um sudo zu handhaben.

Sollten Sie es entfernen, obwohl dies nicht empfohlen wird, werden Sie höchstwahrscheinlich nach Ihrem Passwort gefragt, wenn Sie versuchen zu speichern, und der Tramp-Puffer ist wieder da. Das Öffnen mehrerer Puffer als root führt zu mehreren Tramp-Puffer.

Es ist genauso einfach, eine Datei auf einem entfernten Computer mit ssh innerhalb von Emacs zu öffnen:

C-x C-f /ssh:[email protected]:/path/to/file

Sollten Sie sich fragen, ob Sie eine Datei auf einem Remote-System als Root öffnen sollen? Ja, aber ich behalte es für ein anderes Mal.

Dieses Bild zeigt im linken Frame den DIRED-Modus meines Home-Verzeichnisses und rechts meine .emacs-Datei.

Suchen &Ersetzen in Emacs

  • C-s (isearch-forward)
  • C-r (isearch-backward)
  • M-% (Abfrage ersetzen)

Um eine Vorwärtssuche durchzuführen, drücken Sie C-s Dadurch wird der Minibuffer aktiviert, damit Sie den zu suchenden Text eingeben können. Die Suche erfolgt während der Eingabe. Um zum nächsten Spiel zu gelangen, drücken Sie C-s wieder. Die Suche wird jedoch umlaufen, nachdem Sie einmal gewarnt wurden. Beachten Sie, dass das Drücken der Rücktaste zuerst zum vorherigen Spiel zurückgeht, bevor ein Zeichen gelöscht wird.

Um rückwärts zu suchen, drücken Sie C-r

Drücken Sie zum Ersetzen M-% und Sie haben dann den Minipuffer bereit, um den Suchparameter aufzunehmen. Geben Sie es ein und drücken Sie , geben Sie dann die Ersatzzeichenfolge ein und drücken Sie .

Das Suchen &Ersetzen wird vom Cursor bis zum Ende des Puffers ausgeführt.

Auswählen, ausschneiden, kopieren und in Emacs einfügen

  • C- (Markierungsbefehl)
  • C-w (Kill-Region)
  • M-w (kill-ring-save)
  • C-y (Ruck)
  • M-y (Yank-Pop)

Emacs hat ein ganz anderes Konzept von Auswählen, Ausschneiden, Kopieren und Einfügen. Schauen wir uns zunächst die Auswahl an. Während die Maus im GUI-Modus sehr gut funktioniert, zahlt es sich aus, wenn Sie lernen, sie nicht zu verwenden, wenn die GUI weg ist. Was Sie einen ausgewählten Bereich nennen, nennt Emacs eine aktive Region. Um eine Auswahl zu treffen oder einen Bereich zu aktivieren, platzieren Sie Ihren Cursor am Anfang des gewünschten Bereichs und drücken Sie dann C- Bewegen Sie den Cursor 1 Zeichen über das Ende des gewünschten Bereichs hinaus. Diese Region wird automatisch aktiviert. Während dieses Konzept der aktiven Region jetzt sinnlos erscheinen mag, ist es wichtig, es zu verstehen, wenn Sie damit beginnen, Funktionen zur Automatisierung sich wiederholender Aufgaben zu entwickeln.

Emacs schneidet nicht, es tötet. Wenn Sie eine aktive Region mit C-w töten , Emacs „schneidet“ es aus dem Puffer und speichert es in einem Kill-Ring. Der Kill-Ring hält mehrere Einträge entweder getötet C-w oder kopiert M-w . Sie können diese Einträge dann mit C-y an der Stelle aus dem Kill-Ring und in den aktuellen Puffer ziehen (einfügen). . Wenn direkt nach dem Drücken von C-y Sie fahren mit M-y, fort Der Eintrag, der vom Kill-Ring in den Puffer eingefügt wurde, wird durch den vorherigen ersetzt. Das Ziehen eines Eintrags aus dem Kill-Ring entfernt ihn NICHT aus dem Kill-Ring und kann später erneut gezogen werden.

Erweiterten Befehl in Emacs ausführen

  • M-x (execute-extended-command)

Meta-x ist eine eindeutige Tastenbindung. Sehen Sie sich nach dem Drücken der Tastenkombination den Minipuffer an. Ihr Cursor wird automatisch dort platziert und Emacs und ist bereit, einen Befehl zu empfangen.

Die Befehle für die Tastenbelegungen sind in Klammern geschrieben. Geben Sie die Klammern nicht ein, wenn Sie den Befehl eingeben. Nachdem Sie Ihren Befehl geschrieben haben, drücken Sie .

Es ist üblich, M-x-Befehle im folgenden Format zu sehen:

M-x find-file <RET> ~/path/to/file <RET>

Beachten Sie, dass die automatische Vervollständigung mit der Taste

unterstützt wird

Warum etwas über den Befehl lernen, wenn ich die Tastenbelegung verwenden kann? Erstens hat selbst bei über 1300 Tastenbelegungen nicht jeder Befehl eine. Befehle gibt Ihnen auch die Möglichkeit, Funktionen zu schreiben, um die gewünschten Änderungen an einem ausgewählten Bereich (aktiver Bereich) oder dem gesamten Puffer vorzunehmen. Diese Funktionen können dann mit M-x Funktionsname aufgerufen werden und bei Bedarf an eine Tastenkombination Ihrer Wahl gebunden.

Ein Befehl, der es wert ist, einem neuen Benutzer gezeigt zu werden, ist M-x Shell . Denken Sie daran, wie gesagt, Emacs ist nicht nur ein Texteditor. Der obige Befehl öffnet einen neuen Puffer mit einem Shell-Prompt. Dies ist kein vollständiger Terminal-Emulator, da er zum Beispiel Curl-basierte Anwendungen nicht sehr gut handhabt. Die Anzeige wird nicht richtig aktualisiert. Aber es hat andere Vorteile. Dieser Shell-Puffer ist ein Lese-/Schreib-Textpuffer. Wenn Sie Ihren Cursor am Ende platzieren und einen Befehl eingeben, drücken Sie dann   , wird der Befehl an eine Subshell gesendet und die Ausgabe dem Puffer hinzugefügt. Auf diese Weise können Sie einfach hin und her suchen, kopieren und einfügen, eine ganze Region auswählen und sogar den Pufferinhalt in einer Datei speichern.

Der zweitwichtigste zu lernende Befehl ist M-x ren-buf NewBufferName . Mit diesem Befehl können Sie den aktuellen Puffer umbenennen. Wenn der Puffer den Inhalt einer Datei enthält, wird die Datei dadurch nicht umbenannt. Dies ist nützlich, wenn Sie mehr als eine Shell benötigen. Wenn Sie M-x-Shell eingeben und du hast eins offen, es wird das bestehende hervorbringen. Benennen Sie den Puffer *shell* um, um weitere Shells zu öffnen. Emacs hat auch eshell und term, aber das geht über unseren derzeitigen Rahmen hinaus.

Schlussfolgerung

Dieser Artikel stellt eine sehr kurze und schnelle Einführung in Emacs dar. Sie haben die grundlegenden Emacs-Befehle/Tastenkombinationen und einige grundlegende Konzepte zum Bearbeiten mit Emacs gelernt.

Es kann noch viel mehr für Sie tun. Mit über 4000 Paketen, die für die Installation mit dem integrierten Paketverwaltungssystem Emacs verfügbar sind. Die Flexibilität, die es bietet, ist erstaunlich. Emacs wird mit Ihnen wachsen und sich weiterentwickeln.

Für mehr über Emacs und andere Linux-Themen folgen Sie mir auf Facebook:Learning Linux with Eric Simard


Linux
  1. Erste Schritte mit Zsh

  2. 20 grundlegende Linux-Befehle für Anfänger mit Beispielen erklärt

  3. Erste Schritte mit ls

  4. Erste Schritte mit Samba für Interoperabilität

  5. Erste Schritte mit SSH unter Linux

Erste Schritte mit dem Linux-Betriebssystem

Erste Schritte mit GitHub

Erste Schritte mit Ansible Ad-hoc-Befehlen

Erste Schritte mit Nix Package Manager

Erste Schritte mit systemctl

Erste Schritte mit Pacman-Befehlen in Arch-basierten Linux-Distributionen