Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
5 Der Kernel
6 Die Grundlagen aus Anwendersicht
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP
20 DNS-Server
21 Secure Shell
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in die Sicherheit
33 Netzwerksicherheit überwachen
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Die Buch-DVDs
F Glossar
G Literatur
Stichwort

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil 10 Die Editoren
  Pfeil 10.1 Anforderungen an Editoren
    Pfeil 10.1.1 Zeilenorientiert versus bildschirmorientiert
  Pfeil 10.2 vi
    Pfeil 10.2.1 Den vi starten
    Pfeil 10.2.2 Kommando- und Eingabemodus
    Pfeil 10.2.3 Dateien speichern
    Pfeil 10.2.4 Arbeiten mit dem Eingabemodus
    Pfeil 10.2.5 Navigation
    Pfeil 10.2.6 Löschen von Textstellen
    Pfeil 10.2.7 Textbereiche ersetzen
    Pfeil 10.2.8 Kopieren von Textbereichen
    Pfeil 10.2.9 Shiften
    Pfeil 10.2.10 Die Suchfunktion
    Pfeil 10.2.11 Konfiguration
  Pfeil 10.3 vim
    Pfeil 10.3.1 gvim
  Pfeil 10.4 Emacs
    Pfeil 10.4.1 Konzepte
    Pfeil 10.4.2 Grundlegende Kommandos
    Pfeil 10.4.3 Arbeiten mit Puffern und Fenstern
    Pfeil 10.4.4 Arbeiten mit Mark und Region
    Pfeil 10.4.5 Das Menü nutzen
    Pfeil 10.4.6 Den Emacs konfigurieren
  Pfeil 10.5 Der Editor »ed«
    Pfeil 10.5.1 Die Grundlagen
    Pfeil 10.5.2 Eingeben und Anzeigen von Inhalten
    Pfeil 10.5.3 Inhalte kopieren und einfügen
    Pfeil 10.5.4 Das Beenden erzwingen
    Pfeil 10.5.5 Weitere wichtige Befehle
  Pfeil 10.6 Editoren in der Shell
    Pfeil 10.6.1 Mausunterstützung
  Pfeil 10.7 Zusammenfassung
  Pfeil 10.8 Aufgaben


Galileo Computing - Zum Seitenanfang

10.2 vi  Zur nächsten ÜberschriftZur vorigen Überschrift

Auch wenn der vi-Editor nicht alle der obigen Features abdecken kann, so ist er doch – hat man ihn einmal verstanden – recht einfach zu bedienen. Vor allen Dingen aber ist er klein, schnell und überall verfügbar.

Abbildung 10.1  Der vi-Editor mit geladener httpd.conf


Galileo Computing - Zum Seitenanfang

10.2.1 Den vi starten  Zur nächsten ÜberschriftZur vorigen Überschrift

Der Editor wird über die Kommandozeile aufgerufen. Dabei wird optional ein zu editierender oder neu zu erstellender Dateiname [Dieser wird erst beim Abspeichern der Textdatei tatsächlich erstellt.] übergeben.

Status-Zeile

Nachdem der Editor geladen worden ist, bekommt man ein fast leeres Terminalfenster [Der vi-Editor läuft nicht auf allen Terminals ganz perfekt. Ein vt100- oder vt220-Terminal sollte jedoch problemlos seinen Dienst tun.] zu sehen. Die Tilde-Zeilen stehen für leere Zeilen. Die unterste Zeile wird als Statuszeile genutzt und gibt Ihnen den Dateinamen sowie die Zeilenanzahl und die Dateigröße in Zeichen respektive Bytes an:

# Statuszeile bei einer neuen Datei:
/tmp/file: new file: line 1
# Statuszeile bei einer bereits gesicherten Datei:
/tmp/file: 1 lines, 5 characters.

Listing 10.1  Statuszeile


Galileo Computing - Zum Seitenanfang

10.2.2 Kommando- und Eingabemodus  Zur nächsten ÜberschriftZur vorigen Überschrift

Um mit dem vi arbeiten zu können, muss man zunächst wissen, dass er über zwei Modi verfügt: den Eingabe- und den Kommandomodus. Im Eingabemodus wird Text eingefügt, ersetzt oder gelöscht. Im Kommandomodus lässt sich der Editor konfigurieren. Zudem werden die wichtigen Operationen wie das Abspeichern einer Datei oder das Suchen von Textstellen in diesem Modus abgewickelt.

Wie kommt man denn überhaupt wieder heraus?

Ganz einfach: Zunächst wechseln Sie mit der Esc-Taste in den Kommandomodus. Anschließend können Sie in der Statuszeile (die nun zur Kommandozeile geworden ist) den Befehl zum Beenden eingeben. Da Steuerbefehle mit einem Doppelpunkt beginnen und zum Beenden der Quit-Befehl (q) verwendet wird, muss nun folglich :q eingegeben werden.


Galileo Computing - Zum Seitenanfang

10.2.3 Dateien speichern  Zur nächsten ÜberschriftZur vorigen Überschrift

Dateien werden im Kommandomodus gespeichert. Das hierfür notwendige Kommando »write« (w) schreibt die Datei unter dem geöffneten Namen auf das Speichermedium. Allerdings kann auch ein Dateiname für die Datei als Parameter für w übergeben werden: :w /home/user/test. Um zu speichern und gleichzeitig den Editor zu beenden, können die Befehle kombiniert werden: :wq [Dateiname].


Soll ohne Rücksicht auf Verluste von veränderten Daten (also ohne die Änderungen zu speichern) ein Quit durchgeführt werden oder sollen Veränderungen an einer schreibgeschützten Datei – auf die man natürlich Änderungsrechte an den Dateiattributen besitzen muss – durchgeführt werden, muss dem Kommando ein Ausrufezeichen übergeben werden: :q! beziehungsweise :w! oder :wq!.



Galileo Computing - Zum Seitenanfang

10.2.4 Arbeiten mit dem Eingabemodus  Zur nächsten ÜberschriftZur vorigen Überschrift

Nach dem Start des vi-Editors befinden Sie sich zunächst im Kommandomodus. Um Text zu schreiben, wechseln Sie in den Eingabemodus. Je nachdem, in welchen Eingabemodus Sie wechseln möchten, ist dafür eine bestimmte Funktionstaste zuständig.


Tabelle 10.1  Eingabemodi

Kommando Wirkung

i (insert)

Text vor dem aktuellen Zeichen einfügen

I

Text am Anfang der Zeile einfügen

a (append)

Text hinter dem aktuellen Zeichen einfügen

A

Text am Ende der Zeile einfügen

o (open)

Text in einer neuen Zeile unterhalb der aktuellen Zeile einfügen

O

Text in einer neuen Zeile oberhalb der aktuellen Zeile einfügen



Am besten probieren Sie alle obigen Kommandos einmal an einer Beispieldatei aus. Schreiben Sie sich einfach eine Mail im vi, und senden Sie sich diese dann via Eingabeumlenkung mit dem mail-Programm selbst zu.



Galileo Computing - Zum Seitenanfang

10.2.5 Navigation  Zur nächsten ÜberschriftZur vorigen Überschrift

Um sich im Text zu bewegen, greift man in der Regel auf die Cursor-Tasten zurück. Mit diesen allein sind leider oftmals längere Scroll-Abenteuer unvermeidlich. Aus diesem Grund haben sich die Entwickler des Editors einige Features überlegt, um sich effizient und schnell im Text bewegen zu können.


Tabelle 10.2  Navigationskommandos

Kommando Wirkung

$

Ende der aktuellen Zeile

^ und 0

zum Anfang der aktuellen Zeile

w

ein Wort vorwärts

b

ein Wort zurück

Strg + F

eine Seite vorwärts blättern (geht manchmal auch mit der Bild-Ab-Taste)

Strg + B

eine Seite zurück blättern (geht manchmal auch mit der Bild-Auf-Taste)

G

zur letzten Zeile der Datei bewegen

f[n]

zum nächsten Vorkommen des Zeichens n in der aktuellen Zeile gehen (Achtung: case-sensitive)

:[n] und [n]G

zur Zeile n bewegen (eignet sich gut, um Compilierfehlern im Quellcode nachzugehen)



An älteren Unix-Terminals standen oftmals keine Cursor-Tasten zur Verfügung. Daher kann auch mit den Befehlen h (rechts), j (runter), k (rauf) und l (links) navigiert werden. Dazu muss allerdings in den Kommandomodus gewechselt werden.



Galileo Computing - Zum Seitenanfang

10.2.6 Löschen von Textstellen  Zur nächsten ÜberschriftZur vorigen Überschrift

Sofern Sie an die Editoren grafischer Oberflächen wie etwa aus der Windows-Welt gewöhnt sind, ist Ihnen bekannt, dass mit der Backspace-Taste ein geschriebenes Zeichen wieder gelöscht werden kann. Im vi-Editor steht diese Funktionalität nicht zur Verfügung.

Ein Löschvorgang muss – wie immer – über den Kommandomodus mit entsprechenden Anweisungen bewerkstelligt werden. Die nachstehende Tabelle fasst die vi-Kommandos zum Löschen von Textstellen zusammen:


Tabelle 10.3  Löschkommandos

Kommando Wirkung

dw

Löscht das aktuelle Wort.

d$ und D

Löschen vom aktuellen Zeichen bis zum Ende der Zeile.

d0 und d^

Löschen vom aktuellen Zeichen bis zum Zeilenanfang.

df[c]

Löscht vom aktuellen Zeichen bis zum Vorkommen von c in der aktuellen Zeile.

dG

Löscht alles von der aktuellen bis zur einschließlich letzten Zeile des Buffers.

d1G

Löscht alles von der aktuellen bis zur einschließlich ersten Zeile des Buffers.

dd

Löscht die aktuelle Zeile.



Sollten Sie einmal aus Versehen eine Aktion durchgeführt haben, die Sie wieder rückgängig machen möchten (etwa unbeabsichtigtes Überschreiben oder Löschen), so ist dies mit dem Kommando u (undo) möglich. Doch beachten Sie, dass diese Möglichkeit nur für den jeweils letzten Vorgang besteht. Sobald Sie hinter dem Wort, das Sie wieder löschen möchten, ein neues Wort geschrieben haben, ist Ihnen diese Möglichkeit also verbaut. Da hilft nur das vorher erstellte Backup oder das Beenden ohne Speichern (:q!).



Galileo Computing - Zum Seitenanfang

10.2.7 Textbereiche ersetzen  Zur nächsten ÜberschriftZur vorigen Überschrift

Oftmals möchten Sie ein Wort nicht einfach nur löschen, sondern es überschreiben, einzelne Zeichen eines Wortes ersetzen oder Ähnliches. Dies können Sie mit den c-Kommandos umsetzen.


Tabelle 10.4  Ersetzen-Kommandos

Kommando Wirkung

cw

Überschreibt ein ganzes Wort.

c$ und D

Überschreibt vom aktuellen Punkt bis zum Ende der Zeile.

c0 und c^

Überschreibt vom aktuellen Punkt bis zum Anfang der Zeile.

cf[c]

Überschreibt bis zum nächsten Zeichen »c« der aktuellen Zeile.



Nehmen wir einmal an, der Inhalt einer Datei text.txt enthält den String »Das ist der Inhalt von 'text.txt'.«. Nun soll das Wort »ist« in »wird« geändert werden. Bewegen Sie den Cursor dazu auf den Buchstaben »i« des Wortes »ist«, und drücken Sie zunächst die Taste C und anschließend W.

Daraufhin wandelt sich der letzte Buchstabe des Wortes in ein Dollarzeichen ($) um und signalisiert damit das Ende des Textbereichs, den Sie nun ersetzen können. Alles, was nun eingetippt wird, setzt der vi-Editor vor den String »der Inhalt ...«:


# nach Aktivierung von 'cw':
Das is$ der Inhalt von 'test.txt'.
# daraus wird:
Das wird der Inhalt von 'text.txt'.

Listing 10.2  So ändert man Textstellen.


Galileo Computing - Zum Seitenanfang

10.2.8 Kopieren von Textbereichen  Zur nächsten ÜberschriftZur vorigen Überschrift

Der Kopiervorgang im vi-Editor gestaltet sich ein wenig kompliziert. Zunächst einmal muss zwischen dem Verschieben und dem tatsächlichen Kopieren von Textbereichen unterschieden werden.

Löscht man einen Textbereich mit dem dX-Kommando (etwa dd, um eine ganze Zeile zu löschen), so wird dieser in den Zwischenspeicher kopiert und kann an beliebiger Stelle wieder eingefügt werden. Dazu muss lediglich die Taste P betätigt werden. Ein kleines »p« fügt den Text vor der Cursor-Position ein – ein großes »P« hinter dieser Position.

Kopieren

Möchte man den Text jedoch tatsächlich kopieren, so muss man das y-Kommando verwenden. Die Handhabung entspricht der des oben genannten dx-Kommandos. Der Unterschied besteht lediglich darin, dass der Text nicht gelöscht wird.


Galileo Computing - Zum Seitenanfang

10.2.9 Shiften  Zur nächsten ÜberschriftZur vorigen Überschrift

Mithilfe von zwei Größer- bzw. Kleiner-als-Zeichen (») und («) kann eine Zeile um eine Shift-Einheit nach links bzw. rechts gerückt werden. Dieses Feature eignet sich hervorragend bei programmiertechnischen Anwendungen des Editors, etwa wenn es darum geht, eine Schleife um einen Kommandoblock zu setzen. Die Shift-Einheit kann über die Option :set shiftwidth=x gesetzt werden, wobei x die Anzahl der Zeichen ist, um die der Text verschoben werden soll.


Galileo Computing - Zum Seitenanfang

10.2.10 Die Suchfunktion  Zur nächsten ÜberschriftZur vorigen Überschrift

In den vi-Editor wurde eine exzellente Suchfunktion implementiert. Sie gestattet neben den normalen Suchvorgängen auch die Suche mittels regulärer Ausdrücke. Reguläre Ausdrücke haben Sie bereits in Kapitel 8 kennengelernt.

Generell wird eine Suche mit einem Slash im Kommandomodus des Editors eingeleitet. Diesem Slash folgt der Suchbegriff, etwa /Bewerbung. Mithilfe von regulären Ausdrücken kann auch nach dem Zeilenanfang und -ende, nach dem Wortanfang und -ende oder nach Strings mit beliebigen Zeichen gesucht werden.

# Nach dem Wort ' awk ' suchen:
/\ awk\
# Nach einer Zeile suchen, die mit 'Eine' beginnt:
/^Eine
# Suchen nach Wörtern, die auf 'h' enden. Dabei kann
# hinter dem 'h' ein Leerzeichen, Punkt oder
# Ausrufezeichen stehen:
/?*h[\ .!]

Listing 10.3  Suchen nach Textstellen


Um zum nächsten Suchergebnis zu springen, muss lediglich erneut ein Slash im Kommandomodus eingetippt werden.



Galileo Computing - Zum Seitenanfang

10.2.11 Konfiguration  topZur vorigen Überschrift

Natürlich lässt sich der vi-Editor auch konfigurieren. Dies geschieht mit dem set-Kommando. Über einen Aufruf von :set all erhalten Sie eine Liste möglicher optionaler Einstellungen. Die folgende Auflistung fasst die wichtigsten zusammen: [Dabei ist zu beachten, dass einige Optionen durch »no« abgeschaltet werden; »noautoindent« stellt beispielsweise »autoindent« ab.]

  • (no)autoindent
    Diese Option bewirkt, dass Einrückungen auch in Folgezeilen fortgeführt werden. Dies ist sehr praktisch, wenn es um Programmierung geht.
  • (no)number
    Diese Option schaltet die Zeilenzahlen an. Die Zahlen werden dabei am linken Rand des Editors angezeigt. Der Nachteil besteht im schwindenden Editierplatz.
  • shiftwidth & tabstop
    shiftwidth
    wurde bereits weiter oben in Abschnitt 10.2.9 erläutert. Ähnlich wie shiftwidth legt tabstop eine Zeichen-Weite fest. Während shiftwidth die Shift-Weite, also die Einrück-Einheit festlegt, tut tabstop dies für die Tabulator-Einheit: :set tabstop/shiftwidth=x
  • (no)showmatch
    Diese Option lässt Klammerpaare bei der Schließung aufblinken. Dies kann sich bei der Softwareentwicklung als sehr praktisch erweisen.
  • (no)showmode
    Diese Option zeigt in der unteren rechten Ecke der Statuszeile den Modus an, in dem sich der Editor momentan befindet (z. B. »append«, »command« oder »insert«).

Um diese Einstellungen dauerhaft zu setzen, sollte man sie in die Datei ~/.exrc eintragen:


set autoindent
set number
set showmode

Listing 10.4  Eine exemplarische .exrc-Datei



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de