Textdateien bearbeiten

Editoren

In der Unix-Einführung hast du gelernt, wie du mit cat Text in eine Datei schreiben kannst. Für komplexere Aufgaben ist cat aber das falsche Tool. Du brauchst dafür einen richtigen Editor.

kate

Der einfachste Editor ist kate. Kate ist der Standard-Editor von KDE. Er hat eine graphische Oberfläche und bietet diverse nützliche Funktionen. Du solltest dich im Kate rasch zurecht finden.

emacs

emacs ist ein sehr umfassender Editor der viel mehr kann als nur Dateien bearbeiten. So sind zum Beispiel diverse Spiele installiert. Auf den Rechner am Physik-Institut startest du mit emacs eine Instanz mit grafischer Oberfläche. Diese sollte dir helfen dich zu recht zu finden, denn viele Befehle haben ungewohnte Tastenkombinationen. Um Emacs zu beenden musst du zum Beispiel zuerst [ctrl]+[x] und anschliessend [ctrl]+[q] drücken.

vim

vim ist ebenfalls ein sehr spezieller Editor. Wie emacs ist er aber sehr mächtig, wenn du mal gelernt hast damit umzugehen. Die Grundidee von Vim ist, dass er zwei verschiedene Moden bietet: Command-Mode und Insert-Mode. Im Command-Mode ist jede Taste ein Befehl, im Insert-Mode kannst du wie gewohnt schreiben. Mit [i] kommst du vom Command in den Insert-Mode. Mit [esc] wieder zurück. Um Vim zu beenden musst du :q![enter] eintippen (:x um zu speichern). Wenn du die Bedienung von Vim lernen möchtest, solltest du vimtutor ausführen. Das Tutorial erklärt dir alles was du über Vim wissen musst.

Aufgabe

Starte alle drei Editoren tippe ein paar Worte ein und beende die Editoren wieder.

Welchen Editor du in Zukunft verwenden möchtest musst du selbst entscheiden. Wichtig ist bloss, dass du sowohl Emacs als auch Vim wieder beenden kannst, denn es kann gut sein, dass du einmal unerwartet in einem der beiden Editoren landest.

Zwischen Vi- (Vim) und Emacs-Befürwortern besteht eine alte Rivalität darüber welches der beste Editor ist. Natürlich ist das völlig irrelevant. Wichtig ist, an welchen Editor du dich gewöhnst. Deshalb: wähle einen der beiden und halte dich von unnötigen Diskussionen fern.

Shell-Skripte

Genau so wie in Octave oder Matlab, kannst du auch in der Shell Befehle in einer Datei zusammenstellen und anschliessend der Reihe nach ausführen lassen. Solche Shell-Skripte können auch ziemlich komplexe Problme lösen und sind deshalb oft sehr praktisch. Als Beispiel für ein Shell-Skript schauen wir uns die Konfigurationsdatei deiner Shell an.

.zshrc

Öffne in deinem home-Verzeichnis die Datei mit dem Namen .zshrc. Du kannst dafür den Editor deiner Wahl verwenden.

editor .zshrc

Schreibe folgende drei Zeilen in die Datei

# meine persönliche Konfiguration echo "Hallo Welt"

Speichere die Datei und starte anschliessend eine neue Shell. Du solltest nun von "Hallo Welt" begrüsst werden, bevor du den Prompt erhältst. .zshrc ist die Run-Konfiguration für die Z-Shell. Die Befehle in dieser Datei werden jedes Mal ausgeführt, wenn du eine Z-Shell startest. Du kannst sie also nutzen um deine Shell deinen Wünschen anzupassen.

Du hast diverse Möglichkeiten, was du via .zshrc alles anpassen kannst. Wir können hier nicht auf alles eingehen. Etwas vom nützlichsten sind aber alias. Damit kannst du eine Abkürzung für einen komplexen Befehl festlegen. Ich empfehle dir mindestens folgende drei Zeilen zu deiner .zshrc hinzuzufügen.

alias rm="rm -i" alias mv="mv -i" alias cp="cp -i"

Die erste Zeile sorgt dafür, dass immer wenn du rm eintippst, rm -i ausgeführt wird. Die zweite und dritte Zeile machen das selbe mit mv und cp. Mit -i Option fragen diese drei Befehle nach, bevor sie eine Datei löschen oder überschreiben. Du kannst dies im Moment aber noch nicht ausprobieren. Da deine aktive Shell noch die alte .zshrc ausgeführt hat, weiss sie noch nichts von diesen alias. Du kannst die Shell .zshrc aber von erneut ausführen lassen. Tippe dafür in deinem home-Verzeichnis

source .zshrc

Du kannst kontrollieren, welche alias definiert sind, indem du alias ohne Argumente ausführst. Werden die drei Zeilen oben angezeigt, ist alles in Ordnung und du kannst die abgesicherten Befehle ausprobieren.

Solltest du einmal viele Dateien löschen wollen und dir deiner Sache wirklich sicher sein, so kannst du rm nun mit der -f Option zwingen (force) ohne Nachfrage zu löschen.

Mehr zu Shell-Skripten

Wenn du noch weitere Konfigurationsmöglichkeiten ausprobieren möchtest, kannst du dir meine .bashrc (ich verwende die Bash-Shell auf meinem Laptop) oder die System-Konfiguration unter /etc/zshrc anschauen. Selbstverständlich darfst du uns auch jederzeit Fragen.

Falls du komplexere Dinge mit Shell-Skripten lösen möchtest, so solltest du dir den Advanced Bash-Scripting Guide anschauen. Dort findest du umfangreiche Erklärungen und viele nützliche Beispiele.