Textdateien bearbeiten

Block 3

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 in Kate rasch zurecht finden. Aus all diesen Gründen empfehlen wir euch in Zukunft Kate zu verwenden, wenn ihr einen Editor braucht.

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]+[c] 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 (im Command-Mode) :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. Das ist aber völlig egal, beides sind sehr mächtige Editoren. Wichtig ist, an welchen Editor du dich gewöhnst. Deshalb unser Tipp: wähle einen Editor und halte dich von unnötigen Diskussionen fern.

Hinweis: Falls du dir nicht ganz sicher bist, dass du einen anderen Editor verwenden möchtest, dann ist im Moment sicher Kate die richtige Wahl.

Shell-Skripte

Genau so wie in Python, 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 Probleme 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.

Hinweis: 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.

Ein besonders für diesen Kurs praktisches Alias ist:

alias pylab="ipython3 --pylab"

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. Auch uns darfst du 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.