Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Nano ist ein einfacher Editor, der die Bearbeitung von Dateien in einem Terminal bzw. auf der Konsole erlaubt. Er ist besonders wichtig, wenn keine grafische Oberfläche installiert ist oder wenn diese aus irgendeinem Grund nicht mehr gestartet werden kann und man nur noch Zugriff auf die Konsole hat. Nano wird bei Ubuntu standardmäßig installiert. Im Vergleich zu andern Editoren wie z.B. VIM hat Nano einen geringeren Funktionsumfang, eignet sich aber gerade deshalb für kleinere, schnelle Editierarbeiten oder auch "Einsteiger".
Im Prinzip funktioniert Nano wie jeder andere (grafische) Editor auch. Er wird in der Shell [1] mit dem Befehl
nano <Optionen> [Datei]
gestartet.
Gibt man keine Datei an, so kann man eine neue Datei anlegen und diese in dem Verzeichnis in dem man sich gerade befindet abspeichern. Ein Übersicht über die Optionen von nano erhält man mit
nano --help
Viel häufiger kommt es jedoch vor, dass man eine bereits bestehende Datei, wie z.B. die /etc/apt/sources.list bearbeiten will. Da man für die Bearbeitung von Systemdateien Root-Rechte benötigt, muss man Nano mit sudo aufrufen. Um direkt eine bestehende Datei in nano zu öffnen, übergibt man den Namen der Datei nano als Befehlszeilenoption. Insgesamt sieht das dann zum Beispiel so aus:
sudo nano /etc/apt/sources.list
Jetzt öffnet Nano die Datei /etc/apt/sources.list mit Root-Rechten. Mit den Pfeiltasten kann man nun innerhalb der Datei navigieren. Befehle wie "Speichern" und "Beenden" werden über Tastenkombinationen aufgerufen. Diese sind ganz unten im Editor-Fenster aufgeführt. Hier findet man die Tastenkombination gefolgt von dem damit verknüpften Befehl, wobei das Zeichen "^" für die Taste Strg steht.
Eine unvollständige Liste der in Nano vergebenen Tastenkombinationen:
Tastenkürzel in Nano | ||
Tastenkombination(en)* | Funktion | |
Strg + G | F1 | Hilfe anzeigen (In der Hilfe ist die vollständige Liste der Tastenkürzel aufgeführt)** |
Strg + X | F2 | Datei schließen |
Strg + O | F3 | Datei speichern |
Strg + W | F6 | Suche |
Alt + W | F16 | Weitersuchen |
Alt + R | Strg + Alt Gr + ß | Suchen/ ersetzen |
Alt + ^ | Alt + 6 | Zeile in die Zwischenablage kopieren |
Strg + K | F9 | Zeile ausschneiden und in die Zwischenablage kopieren |
Strg + U | F10 | Zeile(n) aus der Zwischenablage einfügen |
Alt + A | Strg + 6 | Markierung beginnen/ Markierung aufheben |
Strg + A | Pos1 | Zum Zeilenanfang gehen |
Strg + E | Ende | Zum Zeilenende gehen |
Alt + Alt Gr + < | Alt + Alt Gr + ß | Zum Dateianfang gehen |
Alt + ⇧ + 7 | Alt + ⇧ + ß | Zum Dateiende gehen |
Alt + G | Strg + ⇧ + - | Zu einer bestimmten Zeile springen |
Alt + D | Dateistatistiken anzeigen | |
Strg + C | Aktuelle Cursorposition anzeigen | |
Alt + C | Aktuelle Cursorposition ständig anzeigen an/aus | |
Alt + X | Hilfezeilen anzeigen an/aus | |
Alt + O | Leerzeile unterhalb der Titelzeile an/aus | |
Alt + Y | Syntaxhervorhebung an/aus | |
*Die Tastenkombinationen der jeweils ersten und zweiten Spalte sind gleichwertig. | ||
**M ("Meta") lässt sich über Alt oder Alt + ⇧ aufrufen. |
Durch Syntaxhervorhebung wird Nano unter Umständen wesentlich langsamer.
Nano besitzt eine nicht ganz perfekte aber brauchbare Syntaxhervorhebung.
Um die Syntaxhervorhebung zu aktivieren, benötigt man zunächst Definitionsdateien. In diesen ist angegeben, auf welche Dateien die Syntaxhervorhebung angewandt werden soll, und was in welcher Farbe eingefärbt wird. Einige Beispieldateien sind bereits im Verzeichnis /usr/share/nano/ vorhanden. Darüberhinaus gibt es im Anhang dieses Artikels wesentlich verbesserte Versionen von einigen dieser Dateien.
Damit Nano die Definitionsdateien auch verwendet, müssen in der Konfigurationsdatei von Nano, der Datei ~/.nanorc, entsprechende Verweise eingefügt werden. Eine vorgefertigte Version dieser Datei ist ebenfalls bei ubuntuusers.de erhältlich. Durch Eingabe der folgenden Befehle in der Konsole [1] werden die genannten Konfigurationsdateien automatisch heruntergeladen:
mkdir -p ~/.nano wget "http://wiki.ubuntuusers.de/_attachment?target=Nano/highlighterliste" --quiet -O - | while read prefix; do wget "http://wiki.ubuntuusers.de/_attachment?target=Nano/$prefix.nanorc" --quiet -O ~/.nano/$prefix.nanorc; done wget "http://wiki.ubuntuusers.de/_attachment?target=Nano/.nanorc" -O ~/.nanorc
Ab dem nächsten Start von Nano wird die Syntaxhervorhebung verwendet.
Man kann die .nanorc-Dateien auch in einen anderen Ordner speichern, wenn man die include-Anweisungen in der ~/.nanorc entsprechend anpasst.
Wem die voreingestellten Farben nicht gefallen, der kann in den unter ~/.nano gespeicherten Dateien die entsprechenden Änderungen vornehmen. Beispielsweise steht in der ~/.nano/html.nanorc:
1 2 3 4 5 6 7 | syntax "html" "\.(html?|xml|svg)$" # Quelltext icolor brightgreen start="<code" end="</code>" # Tags color brightblue start="<" end=">" |
Die mit "syntax" beginnende Zeile sollte man nicht ändern, da sie für die automatische Einfärbung von XML-Dateien sorgt. Zeilen, die mit der Raute (#) beginnen sind Kommentare und werden von Nano ignoriert. In den restlichen Zeilen stehen die Farbdefinitionen. Sie folgen dem Schema
1 2 3 4 5 6 7 | (i)color vordergrundfarbe ["was wird eingefärbt"] # oder (i)color ,hintergrundfarbe ["was wird eingefärbt"] # oder (i)color vordergrundfarbe,hintergrundfarbe ["was wird eingefärbt"] # Das i in icolor steht für "ignoriere Groß-/Kleinschreibung" |
Will man nun, dass Quelltext hellrot auf blau erscheint, und Tags in dunkelgrün, so sehen die geänderten Zeilen also so aus:
1 2 3 4 5 6 7 | syntax "html" "\.(html?|xml|svg)$" # Quelltext icolor brightred,blue start="<code" end="</code>" # Tags color green start="<" end=">" |
Die Einfärbung geschieht mit Hilfe regulärer Ausdrücke. Weitere Informationen dazu findet man im Wiki unter Shell/grep
Die Entscheidung darüber, ob und wie eine Datei eingefärbt wird, fällt Nano aufgrund des Dateinamens. So steht zum Beispiel in der sh.nanorc:
syntax "sh" "\.sh$"
Dies führt dazu, dass Dateien, deren Name auf ".sh" endet, mit diesem Schema eingefärbt werden. Oftmals haben Shellskripte jedoch keine besondere Dateiendung, und werden also von Nano nicht erkannt. In diesem Fall kann man mit folgendem Befehl die Einfärbung mit dem Schema "sh" erzwingen:
nano -Y sh [Datei]
Selbstverständlich funktioniert das auch mit anderen Farbschemata, wie z.B. html. Das ist aber nur selten nötig, da hier fast immer die Dateiendung zur Erkennung des Inhalts ausreicht.
Eine weitaus komfortablere Möglichkeit ist ein Skript, das untersucht, ob die zu öffnende Datei ein Shellskript ist, und entsprechend den o.g. Befehl automatisch ausführt. Ein solches Skript ist bei ubuntuusers.de hinterlegt. Man speichert es z.B. als ~/skripte/nano-sh, und fügt ans Ende der Datei ~/.bashrc folgende Zeile an:
alias nano='~/skripte/nano-sh'
Am schnellsten geht das alles mit folgender Terminaleingabe:
mkdir -p ~/skripte wget "http://wiki.ubuntuusers.de/_attachments/Nano/nano-sh" -O ~/skripte/nano-sh chmod +x ~/skripte/nano-sh echo "alias nano='~/skripte/nano-sh'" >> ~/.bashrc
Ab dem nächsten Login werden dann alle Shellskripte in Nano mit dem Schema "sh" eingefärbt.
Fast immer markiert die Raute einen Kommentar und Anführungszeichen schließen einen String ein. Daher empfiehlt es sich, diese Elemente immer einfärben zu lassen. Hierfür gibt es das Farbschema "default". Es wird auf alle Dateien angewandt, die nicht mit einem der anderen Schemata markiert werden. Um das default-Schema zu aktivieren, genügt es, in der ~/.nanorc bei der letzten Zeile
# include "~/.nano/default.nanorc"
das Rautezeichen zu entfernen. Ab dem nächsten Start von Nano werden Kommentare, Strings, Zahlen und Sonderzeichen standardmäßig hervorgehoben.
Dies funktioniert nur, wenn man wie oben beschrieben die Dateien von ubuntuusers.de heruntergeladen hat.
Will man doch einmal eine Datei öffnen, ohne dass jegliche Syntaxhervorhebung angewandt wird (auch nicht das Schema "default"), so muss man nun Nano mit
nano -Y none [Datei]
starten, oder zur Laufzeit mit Alt + Y die Hervorhebung deaktivieren.