# Sublime Text

Sublime Text ist ein proprietärer Texteditor für Microsoft Windows, Linux und macOS.

## Hintergründe

Sublime Text wurde in C++ und Python geschrieben. Der Fokus der Entwickler liegt auf Geschwindigkeit und einer schlichten Oberfläche, die für die Nutzung per Tastatur optimiert ist. Der Editor selbst ist leichtgewichtig ausgelegt, lässt sich jedoch durch Python Plugins den eigenen Bedürfnissen anpassen und erweitern.

## Versionsgeschichte
### Version 1

Die erste Version von Sublime Text wurde im November 2007 präsentiert und war nur unter Windows lauffähig.

#### Oberfläche

Eine Besonderheit von Sublime Text ist die Bedienoberfläche, die mit verschiedenen Farbschemata gestaltet werden kann. Fast sämtliche GUI-Elemente sind ausblendbar und es gibt einen Vollbildmodus, so dass Sublime Text zum ablenkungsfreien Editieren (engl. distraction-free editing) verwendet werden kann.
Es ist möglich, mehrere Dateien gleichzeitig anzuzeigen; hierfür kann das Editorfenster in mehrere Zeilen und Spalten aufgeteilt werden, wobei jedes „Feld“ wiederum mehrere Tabs haben kann. Dem Benutzer steht zudem eine „Minimap“, eine visuelle Übersicht über die gerade aktive Datei, zur Verfügung, so dass die Navigation in langen Quellcodes oder Texten erleichtert wird.

#### Funktionen

Aufgrund der Python-Integration ist Sublime Text nahezu beliebig erweiterbar. Das Programm eignet sich sowohl für Reintext als auch für Programmcode, es unterstützt Syntaxhervorhebung ebenso wie die Verwendung von Makros. Auch Codevervollständigung und die Integration eines Compilers sind möglich.

### Version 2

Am 17. September 2010, vier Tage nach der Veröffentlichung von Sublime Text 1.4, wurde bekannt, dass der Entwickler beabsichtigte, die kommende Version unter dem Codenamen „Sublime Text X“ von Grund auf neu zu entwickeln. Am 28. Januar 2011 wurde die erste öffentliche Alphaversion des Programms, das nun „Sublime Text 2“ hieß, freigegeben. Die erste Betaversion trägt die Buildnummer 2111 und wurde am 31. August 2011 veröffentlicht. Die finale Version 2.0 erschien am 26. Juni 2012.

#### Neuerungen

In Version 2 ist Sublime Text erstmals auch unter Linux und Mac OS X lauffähig. Eine wesentliche Neuerung ist „Goto Anything“ (Gehe zu irgendetwas), ein via Tastenkürzel erreichbarer Dialog, der einen Sprung in eine andere Datei oder innerhalb des gerade geöffneten Dokuments zu einer bestimmten Funktion, einer bestimmten Zeile oder einem bestimmten Symbol erlaubt. Außerdem wurde das Format von Projektdateien geändert, und es wurden einige kleinere Änderungen vorgenommen.
Am 3. August 2011 wurde zusammen mit der Betaversion 2.0 build 2096 das Plugin vintage.py veröffentlicht, das die Bedienung des Texteditors vi weitgehend emuliert; so ist auch das modale Editieren (Befehlsmodus, Eingabemodus, visueller Modus) möglich. Dieses Plugin ist standardmäßig deaktiviert.

### Version 3

Am 29. Januar 2013 veröffentlichte Jon Skinner die erste Betaversion von Sublime Text 3. Die finale Version wurde am 13. September 2017 veröffentlicht. Es folgten 2018 die Version 3.1 und 2019 Version 3.2.

#### Neuerungen

Mit Sublime Text 3 wurde ein neues API, basierend auf Python 3, eingeführt, wodurch bestehende Plugins teilweise oder komplett neu geschrieben werden mussten. Ein weiterer Fokus bei der Entwicklung lag auf Geschwindigkeit; so ist Sublime Text 3 in der Lage, alle Dateien eines Projekts mittels Symbolindizierung zu durchsuchen, um schnelleren Zugriff auf bestimmte Funktionen zu ermöglichen. Ab der Entwicklerversion 3127 unterstützt Sublime Text auch unter Windowssystemen Toucheingabe sowie eine hohe Punktdichte. Version 3.2 brachte unter anderem eine native (rein lesende) git Integration, die den jeweiligen Dateistatus darstellen kann.

### Version 4

Am 21. Mai 2021 wurde Sublime Text 4 nach einer rund anderthalbjährigen (inoffiziellen) Betaphase offiziell freigegeben.

#### Neuerungen

Zu den zahlreichen Neuerungen der vierten Hauptversion zählen unter anderem die native Unterstützung der ARM64 sowie Apple M1 Architekturen, weitere Geschwindigkeitsoptimierungen (z. B. für sehr hohe Auflösungen durch OpenGL Rendering) und diverse Erweiterungen der Plugin APIs (z. B. zur besseren Unterstützung von LSP Plugins). Zudem wurde die Autovervollständigung stark überarbeitet, so dass diese nun projektübergreifend kontextsensitiv Vorschläge bietet. Zu den neuen Funktionen gehört auch die Tab Multi-Selection zur besseren Code Navigation. Darüber hinaus wurde die Oberfläche an diversen Stellen leicht angepasst, es wird ein neues Standard-Farbschema mitgeliefert und es gibt einen optionalen automatischen Darkmode.

## Sublime Merge

Seit 2018 bietet Sublime HQ mit Sublime Merge einen git Client an. Sublime Merge teilt sich technisch wie auch vom Bedienkonzept viel mit Sublime Text. So kann Sublime Merge beispielsweise Syntax-Definitionen von Sublime Text verwenden. Auch die Struktur der Konfigurationsdateien zur Anpassung sind analog aufgebaut, viele Optionen lassen sich eins zu eins übertragen. Darüber hinaus wird das gleiche, hauseigene UI Framework verwendet. Sublime Merge integriert sich in Sublime Text, wenn beide installiert sind. So lässt sich beispielsweise die Versionsgeschichte einer Datei aus dem Editor heraus direkt in Sublime Merge einsehen. Für lesende Operationen wird für höhere Geschwindigkeit eine eigene, optimierte git Implementierung verwendet, schreibende werden immer über die offizielle git Bibliothek abgewickelt. Die zuvor genannte eigene git Implementierung wird auch ab Version 3.2 in Sublime Text verwendet und ist ein Beispiel für die Synergien der Entwicklung der beiden Werkzeuge.