[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Programme_starten:] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./scribes_logo.png, 48, left)]] [http://scribes.sourceforge.net/ Scribes] {en} ist ein sehr ausgereifter, optisch minimalistischer Editor für [:GNOME:]. Unter der Haube verbergen sich allerdings eine Menge Funktionen, die Scribes zu einem guten Ersatz für [:gedit:] machen. Der Editor zeichnet sich besonders dadurch aus, dass er auf reine Tastaturbedienung optimiert ist. Außerdem lassen sich mit ihm sehr einfach auch große Projekte (trotz mangelnder Tabs) verwalten. Das Programm bietet Vorlagen und Syntaxhervorhebung für viele Sprachen und beschleunigt die Eingabe durch intelligente Autovervollständigung. Für weitere Features empfiehlt sich ein Blick auf die Liste der Tastenkürzel. {{{#!vorlage Hinweis Das Programm wird scheinbar nicht mehr weiter entwickelt, die letzte Version datiert auf März 2011. }}} = Installation = Scribes kann bis einschließlich [:Trusty:Ubuntu 14.04] aus den offiziellen Paketquellen installiert werden [1]: {{{#!vorlage Paketinstallation scribes, universe }}} = Bedienung = [[Bild(./scribes.png, 250, right)]] Scribes erreicht man bei Ubuntu-Varianten mit einem Anwendungsmenü über ''"Zubehör -> Scribes Texteditor"'' [2]. Scribes ist größtenteils wie ein normaler Editor zu bedienen. Jedoch verfügt er über eine nützliche [#Vorlagen Vorlagenfunktion], [#Sparkup Sparkup-Integration] und viele nützliche [#Tastenkürzel Tastenkürzel]. Ohne Tastenkürzel erreicht man das Menü, wenn man mit der Maus über die farbig markierte Ecke fährt ("hot corner"). Scribes setzt auf so genannte [wikipedia_en:Spatial_navigation:spatial navigation], also auf Navigation per Tastatur. Die unten angegebene Liste der Tastenkürzel erhält man auch im Programm selbst durch die Kombination [[Vorlage(Tasten, strg+h)]]. Um das volle Potential des Editors auszuschöpfen, sollte man sich über die Zeit Kombinationen für häufige Aktionen einprägen. == Dateiverwaltung == Rein statistisch betrachtet waren die meisten Dateien, die man bearbeiten will, zu einem vorherigen Zeitpunkt schon einmal geöffnet. Daher ist eine der wichtigsten Kombinationen [[Vorlage(Tasten, strg+alt+r)]] für die Liste der zuletzt geöffneten Dateien (''"recent"''). In dieser Liste kann man - wie überall in Scribes - durch einfach Lostippen suchen. Ein weiteres interessantes Kürzel ist [[Vorlage(Tasten, strg+alt+o)]] für ''"Schnelles Öffnen"''. In diesem Dialog wird das aktuelle Verzeichnis als Suchpfad benutzt. So findet man ohne langes Navigieren Dateien, die tief in der Verzeichnisstruktur des Projektes verborgen sind. Man kann natürlich auch einfach [[Vorlage(Tasten, strg+o)]] drücken, um GNOMEs Standard-Dialog zum Öffnen von Dateien anzuzeigen. == Keine Tabs == Der Verzicht auf Tabs ist eine [http://mystilleef.blogspot.com/2006/10/no-tabs-why.html Designentscheidung] {en} des Entwicklers. Kurz gesagt bezweifelt er, dass Tabs bei einem Texteditor tatsächlich einen Gewinn in der Benutzbarkeit bringen. Mit Scribes lassen sich tatsächlich auch ohne Tabs viele geöffnete Dateien gut verwalten, vielleicht sogar effizienter als mit Tabs. Mit [[Vorlage(Tasten, f9)]] lassen sich alle offenen Dokumente anzeigen und durchsuchen. Diese können – im Gegensatz zu anderen Editoren – auch auf unterschiedlichen Desktops liegen. So kann man seine Dokumente kontextbezogen auf mehrere Desktops verteilen und hat trotzdem schnellen Zugriff. == Vorlagen == Mit [[Vorlage(Tasten, alt+F12)]] öffnet man den Vorlageneditor. Jetzt wählt man links die Programmiersprache aus, für die die Vorlage genutzt werden soll. Jetzt kann man bereits bestehende Vorlagen ändern, löschen oder neue hinzufügen. Nachdem man Namen (mit dem man das Template später aufruft) und Beschreibung eingegeben hat, gehts an die Vorlage: Man tippt ''$'' ein und es wird ein ''${placeholder}'' daraus. Beispielsweise folgendes Template: {{{ ${Das} hier ist ${ein Test}. }}} Der Inhalt in den Klammern ist der Standardwert. Wenn man diese Vorlage jetzt unter '''bsptemplate''' für die Sprache Python gespeichert hat, dann in einem Pythonskript `bsptemplate` eintippt und dann [[Vorlage(Tasten, tab)]] drückt, wird der Cursor in `Das` gesetzt und man kann den Wert anpassen. Man geht zum nächsten Vorlagenwert mit der Tabtaste (siehe [http://scribes.sourceforge.net/media_videos.html Videos] {en}). == Sparkup == Sparkup vereinfacht das Eingeben von HTML und CSS. Es ist eine Weiterentwicklung von [github:sergeche/zen-coding:Zen Coding] {en} (inzwischen [github:emmetio/emmet:Emmet] {en}), welches ebenfalls von Scribes unterstützt wird. Da Sparkup in Scribes besser integriert ist und einige Vorteile hat, sollte man es "Zen Coding" vorziehen. Beispiele für die Nutzung gibt es auf der Zen-Coding-Seite zu genüge. Man aktiviert Sparkup mit [[Vorlage(Tasten, strg+e)]] und gibt CSS-ähnliche Formatierungen ein, um daraus HTML zu erzeugen. Aus {{{#content.class > .test}}} wird so {{{#!code html
}}} Mit etwas komplexeren Ausdrücken kann man das komplette Grundgerüst einer Seite generieren (s. Screenshot): {{{ html:xs > #container > #header > #logo + ul#nav > li*3 > a < < < #content > h1{Seitentitel} + p{Seitentext} }}} == Befehlsfilter == Diese Funktion ist durch die "Filter-Through-Command"-Funktion im Mac-Editor TextMate inspiriert. Man markiert einfach Text, drückt [[Vorlage(Tasten, alt+x)]] und gibt einen Linux-Befehl ein. Der Befehl bekommt den Text als Eingabe und die Ausgabe landet wieder im Editor. So kann man bspw. das Kommando `sort` benutzen, um Textzeilen alphabetisch zu sortieren. == Tastenkürzel == Um Scribes komfortabler zu nutzen, existieren einige Tastenkürzel. Hier eine Übersicht: ||<-4 rowclass="kopf">'''Dateien'''|| ||<-4 rowclass="highlight"> Tastenkürzel bezüglich des Dateiöffnens, -speicherns usw. || || [[Vorlage(Tasten, strg+o)]] || Öffnet eine existierende Datei || [[Vorlage(Tasten, strg+alt+o)]] || Schnell-Öffnen-Dialog || || [[Vorlage(Tasten, strg+alt+r)]] || Zuvor geöffnete Dateien durchsuchen || [[Vorlage(Tasten, strg+s)]] || Speichert die aktuelle Datei || || [[Vorlage(Tasten, strg+shift+s)]] || Datei umbenennen || [[Vorlage(Tasten, strg+p)]] || Druckt aktuelle Datei || || [[Vorlage(Tasten, strg+n)]] || Startet neue Datei || || || ||<-4 rowclass="kopf">'''Lesezeichen''' || ||<-4 rowclass="highlight">Mit Lesezeichen kann man bestimmte Zeilen hervorheben und dann wieder in diese Zeile per Aufruf springen. || || [[Vorlage(Tasten, strg+b)]] || Zeigt den Lesezeichen-Browser || [[Vorlage(Tasten, strg+d)]] || Lesezeichen setzen/entfernen || || [[Vorlage(Tasten, strg+alt+b)]] || Löscht alle Lesezeichen || || || ||<-4 rowclass="kopf"> '''Zeilen-Operationen''' || ||<-4 rowclass="highlight">Tastenkürzel, die sich auf die aktuelle oder markierte Zeilen auswirken || || [[Vorlage(Tasten, alt+1)]] || Zeilenende in Unix-Format || [[Vorlage(Tasten, alt+2)]] || Zeilenende in Mac-Format || || [[Vorlage(Tasten, alt+3)]] || Zeilenende in Windows-Format || [[Vorlage(Tasten, alt+rechts)]] || Zeile einrücken || || [[Vorlage(Tasten, alt+links)]] || Zeile ausrücken || [[Vorlage(Tasten, alt+d)]] || Zeile löschen || || [[Vorlage(Tasten, strg+u)]] || Zeile verdoppeln || [[Vorlage(Tasten, alt+c)]] || Kommentar umschalten || || [[Vorlage(Tasten, alt+o)]] || leere Zeile unterhalb || [[Vorlage(Tasten, alt+shift+o)]] || leere Zeile oberhalb || ||<-4 rowclass="kopf"> '''Navigation''' || ||<-4 rowclass="highlight">Tastenkürzel, die beim Navigieren im Text helfen || || [[Vorlage(Tasten, alt+m)]] || vertikal zentrieren || [[Vorlage(Tasten, alt+shift+links)]] || links scrollen || || [[Vorlage(Tasten, alt+shift+rechts)]] || rechts scrollen || [[Vorlage(Tasten, alt+shift+b)]] || zu zugehöriger Klammer springen || || [[Vorlage(Tasten, strg+runter)]] || nächster Absatz || [[Vorlage(Tasten, strg+hoch)]] || vorhergehender Absatz || || [[Vorlage(Tasten, strg+f)]] || Suchleiste || [[Vorlage(Tasten, strg+r)]] || Suchen und Ersetzen || || [[Vorlage(Tasten, strg+i)]] || Zu Zeilennummer springen || [[Vorlage(Tasten, strg+g)]] || nächstes Suchergebnis || || [[Vorlage(Tasten, strg+shift+g)]] || vorhergehendes Suchergebnis || || || ||<-4 rowclass="kopf"> '''Auswahl''' || || [[Vorlage(Tasten, alt+b)]] || Klammernauswahl || [[Vorlage(Tasten, alt+l)]] || Zeile auswählen || || [[Vorlage(Tasten, alt+p)]] || Absatz auswählen || [[Vorlage(Tasten, alt+s)]] || Satz auswählen || || [[Vorlage(Tasten, alt+w)]] || Wort auswählen || || || ||<-4 rowclass="kopf"> '''Textformatierung''' || || [[Vorlage(Tasten, alt+q)]] || Textfluss neu berechnen || [[Vorlage(Tasten, alt+r)]] || anhängende Leerzeichen löschen || || [[Vorlage(Tasten, alt+t)]] || Leerzeichen in Tabs || [[Vorlage(Tasten, alt+shift+t)]] || Tabs in Leerzeichen || || [[Vorlage(Tasten, strg+z)]] || Rückgängig || [[Vorlage(Tasten, strg+y)]] || Wiederholen || || [[Vorlage(Tasten, strg+shift+e)]] || escape quotes || [[Vorlage(Tasten, strg+alt+e)]] || unescape quotes || ||<-4 rowclass="kopf"> '''Fensterverwaltung''' || || [[Vorlage(Tasten, F9)]] || Zeige alle offenen Fenster || [[Vorlage(Tasten, strg+h)]] || Zeige Tastenkürzel || || [[Vorlage(Tasten, strg+n)]] || neues Fenster || [[Vorlage(Tasten, strg+shift+n)]] || leeres Dokument in aktuellem Fenster || || [[Vorlage(Tasten, strg+bild-ab)]] || nächstes Fenster || [[Vorlage(Tasten, strg+bild-auf)]] || voriges Fenster || ||<-4 rowclass="kopf"> '''Sonstige''' || || [[Vorlage(Tasten, strg+e)]] || zeige Sparkup-Interface || [[Vorlage(Tasten, alt+x)]] || Befehlsfilter || || [[Vorlage(Tasten, alt+return)]] || Statistik || [[Vorlage(Tasten, alt+.)]] || Leerräume anzeigen (Leerzeichen, Tabs, Return, usw)) || || [[Vorlage(Tasten, alt+f12)]] || Vorlagen-Editor || [[Vorlage(Tasten, alt+shift+f12)]] || Theme-Auswahl || || [[Vorlage(Tasten, strg+shift+alt+c)]] || Autovervollständigung umschalten || [[Vorlage(Tasten, f1)]] || Hilfe || || [[Vorlage(Tasten, f12)]] || Einstellungen || [[Vorlage(Tasten, f3)]] || Dokument read-only setzen || = Problembehebung = == Fensterfokus mit Compiz == Wenn man Compiz verwendet, dann leidet man u.U. unter einer merkwürdigen Voreinstellung von Ubuntu. Diese Einstellung verhindert es, dass startende Programme den Fokus erhalten. Diese Einstellung verhindert leider auch, dass einige Fenster von Scribes den Fokus erhalten, so dass die Tastaturbedienung nicht reibungslos funktioniert. Der folgende Befehl behebt das Problem: {{{#!vorlage Befehl gconftool-2 -s -t int /apps/compiz/general/screen0/options/focus_prevention_level 0 }}} == Anpassen der Druckausgabe == Ein Einstellungsdialog für die Kopf- und Fußzeile, die Syntaxhervorhebung und die automatische Zeilennummerierung der Druckausgabe ist nicht vorhanden. Möchte man diese anpassen oder ganz abschalten, dann profitiert man davon, dass dieses Programm in [:Python:] entwickelt wurde und man die entsprechende Quelldatei '''/usr/lib/scribes/GenericPlugins/Printing/Utils.py''' mit [:sudo:] und einem [:Editoren:Texteditor] direkt bearbeiten kann. Änderungen an dieser Datei werden allerdings bei einer Aktualisierung des Pakets überschrieben. Hier ein kommentierter Auszug der relevanten Zeilen: {{{#!code python # Fußzeile an/aus compositor.set_print_footer(True) # Formatierung der Fußzeile compositor.set_footer_format(True, "", editor.filename, "%N of %Q") # Kopfzeile an/aus compositor.set_print_header(True) # Formatierung der Kopfzeile compositor.set_header_format(True, editor.name, "%b %d, %Y", "%N/%Q") # Syntaxhervorhebung an/aus compositor.set_highlight_syntax(True) # Zeilennummern an/aus compositor.set_print_line_numbers(1) }}} Die Formatierung der Kopf- und Fußzeile besteht aus einer mit Kommata getrennten Liste: Status, Inhalt Links, Inhalt Mitte, Inhalt Rechts. `editor.filename` steht für den Dateinamen mit vollständigem Pfad, `editor.name` für den Dateinamen ohne Pfad, die Variabeln `%N` für Seite sowie `%Q` für Seiten. Die Variabeln für den Zeitstempel entsprechen [http://manpages.ubuntu.com/cgi-bin/search.py?lr=lang_de&q=strftime strftime] {de}. = Links = * [http://scribes.sourceforge.net/ Projektseite] {en} * [launchpad:scribes:Scribes] {en} auf Launchpad * [youtube:7tabXQbz_JA&hd=1:Eine kleine Video-Vorstellung von Scribes] {de} * [http://scribes.sourceforge.net/media_videos.html Videos, welche die Fähigkeiten von Scribes vorstellen] {en} * [http://www.wiki.elektronik-projekt.de/scribes_keyboard_shortcuts Scribes Keyboard Shortcuts] {en} - weitere Übersicht der verfügbaren Tastenkürzel # tag: GNOME, Editor