# FAR Manager

Der FAR Manager (für englisch File and Archive Manager, „Datei- und Archiv-Manager“) ist ein Klon des MS-DOS-Programms Norton Commander für Windows. Als Dateimanager im klassischen Zwei-Fenster-Modus erlaubt er das komfortable Kopieren, Löschen, Umbenennen, Bearbeiten oder Suchen von Dateien und Verzeichnissen im Win32-Konsolenfenster.

## Geschichte

Geschrieben wurde das Programm ab 1996 in C++ von Jewgeni Roschal, der zuvor schon das Dateiformat RAR und die zugehörigen Packprogramme RAR und WinRAR schuf. Ab dem Jahr 2000 wurde die Weiterentwicklung von der FAR Group übernommen. Die Versionen vor 1.80 sind Shareware sowie für Bürger der ehemaligen Sowjetunion für nicht-kommerzielle Zwecke kostenlos verwendbar. Seit dem 26. Oktober 2007 sind die Quelltexte der nachfolgenden Version 1.80, die später in 2.0 umbenannt wurde, als Open Source unter der BSD-Lizenz verfügbar.
Bis 2011 wurden die Versionen 1.75 und 2.0 gepflegt. Seitdem ist Version 3.0 aktuell, die keine Version-2-Plugins unterstützt. Hier wurde der Unicode-Support des Grundprogramms vervollständigt, es gibt eine zusätzliche 64-Bit-Version und es kann auch mit der seit Vista eingeführten Benutzerkontensteuerung umgehen. Nach Build 2798 (September 2012) wurden wesentliche Teile der API für die Plugins umgestellt, so dass viele FAR-3-Plugins ohne Anpassung nicht weiter funktionieren. Mit dem kurz darauf erschienen Build 2851 wurde die Makrosprache auf die Skriptsprache Lua umgestellt.

## Merkmale

Der integrierte Betrachter und Editor unterstützt UTF-8 und andere Unicode-Kodierungen sowie zahlreiche weitere Codepages inklusive IBM EBCDIC- und Macintosh-Zeichenkodierungen. Es können je nach Sperrzustand viele von anderen Programmen zum Schreiben geöffnete Dateien im Betrachter und Editor von FAR geöffnet werden. Wird beispielsweise eine Logdatei im Betrachter geöffnet und navigiert man an deren Ende, dann wird bei der nächsten Erweiterung automatisch weitergescrollt. Mit dem Betrachter können Dateien fast jeder Größe angesehen werden, da immer nur Abschnitte der Datei in den Speicher geladen werden. So sind auch Dateien über 4 GiB kein Problem und die Ansicht ist sofort verfügbar. Als Zugeständnis an diese Geschwindigkeit ist keine Navigation nach Zeilennummern möglich (die erst vom Programm durchgezählt werden müssten), jedoch über die Suche nach Zeichenketten sowie Regulären Ausdrücken und absoluter sowie relativer (+/-) Angabe der Dateiposition in Prozent oder Offset. In älteren Versionen konnte bei gemischter ein bis zwei Zeichen-Kodierung (UTF-8) und entsprechend eingestellter Ansicht nicht die ganze Datei durchsucht werden, beim Betrachten im OEM- oder ANSI-Modus (wo Umlaute als zwei Sonderzeichen auftreten) jedoch schon. Im Betrachter kann bei ausgeschaltetem Zeilenumbruch die Zeilenlänge je nach Einstellung zwischen 100 und 100.000 Zeichen betragen, bis ein Zwangsumbruch durchgeführt wird (bis Version 2.0 waren es unveränderbar 2048 Zeichen).
Die eingebaute Bildschirmumschaltung ermöglicht es, beliebig viele Instanzen des Betrachters und Editors gleichzeitig platzsparend zu öffnen und schnell zwischen diesen und dem Dateimanager hin und her zu wechseln. Ein integrierter Makrorekorder erlaubt das Aufzeichnen und Wiedergeben von Tastatursequenzen. Mittels konfigurierbarer Verknüpfungen zu Dateierweiterungen lassen sich externe Programme wie Betrachter, Packprogramme und andere leicht in die Oberfläche einbinden. Bemerkenswert ist auch die Möglichkeit, symbolische NTFS-Verknüpfungen zu erzeugen.
Die Funktionalität des Programms ist durch zahlreiche Plug-ins erweiterbar. Zum Lieferumfang gehören unter anderem ein vollwertiger FTP-Client, ein Netzwerk-Browser, eine Druckverwaltung sowie eine Prozessliste (als Alternative zum Windows-Taskmanager). Zusätzlich installierbare Plug-ins ermöglichen unter anderem extrem mächtige Syntaxhervorhebung im eingebauten Editor, Mailclients, Bearbeitung der Registrierungsdatenbank, Bearbeitung von ID3-Tags usw.
Im Lieferumfang der Versionen vor 1.80 waren zwei Übersetzungen für die Benutzerschnittstelle und Hilfetexte auf Englisch und Russisch enthalten. Im sogenannten Far PlugRinG, einer von unabhängigen Entwicklern gepflegten Sammlung von FAR-Plug-ins, konnten weitere Sprachdateien heruntergeladen werden. Ab Version 2.0 werden Übersetzungen für Deutsch, Englisch, Polnisch, Russisch, Tschechisch sowie Ungarisch mitgeliefert. Es existiert sowohl eine 32-Bit- als auch eine 64-Bit-Version.
In der 32- und 64-Bit-Version von FAR 3 funktionieren jeweils nur die dazupassenden Plugins. Es funktionieren Plugins für FAR 3 – wobei es mit Build 2798 (September 2012) eine große API-Umstellung gab und so einige vorher produzierte Plugins nicht mehr funktionieren – und so einige Plugins für FAR 1, diese nur mit ANSI-Unterstützung. Deshalb gibt es für so einige FAR-1-Plugins Weiterentwicklungen und 64-Bit-Versionen.
So auch beispielsweise für das vielseitige MultiArc-Plugin, welches zusätzliche Formate integrieren kann, und sei es durch parsen der Textausgaben von im Hintergrund aufgerufenen Kommandozeilen-Programmen, deren Parameter in einer INI-Datei angegeben wurden. In der Grundversion von FAR wurde es durch ArcLite ersetzt, welches beim Entpacken nicht so viele Formate unterstützt und sich beim Packen auf das 7z- und ZIP-Dateiformat beschränkt. Dazu gibt es den Observer, der einige Containerformate wie MSI, ISO, UDF oder Vdisk unterstützt und auch mit WCX-Modulen des Total Commanders erweitert werden kann. Ein MultiArc-ersetzendes Projekt NewArc wird seit langem nicht mehr weiterentwickelt.
Die Einstellungen von FAR 3 und dazupassenden Plugins werden standardmäßig in den von Windows vorgesehenen APPDATA-Verzeichnissen in SQLite-Datenbanken gespeichert. Alternative Speicherorte für eine portable Installation können angegeben werden. Alte Plugins speichern ihre Einstellung wie gehabt in der Windows-Registrierungsdatenbank.

## Kompatibilität

Der FAR Manager arbeitet (von einigen Bildbetrachter-Plug-ins abgesehen) als interaktive Konsolenanwendung mit einer zeichenorientierten Benutzerschnittstelle im Textmodus und wirkt daher wie ein PC-kompatibles DOS-Programm, ist jedoch nicht unter MS-DOS lauffähig. Er arbeitet im von Anwendungssoftware nur sehr selten genutzten Konsolenfenster, in dem beispielsweise auch die 32-Bit-Programme cmd.exe oder Midnight Commander laufen. Als 32-Bit-Programm hat der FAR Manager Zugriff auf lange Dateinamen, den Windows-Papierkorb, die Zwischenablage und weiteres mehr.

## Linux-, MacOS- und BSD-Version

Das far2l-Projekt entwickelt einen Port des Far Manager v2, der auf Linux-, MacOS- und BSD-Systemen läuft. Stand Februar 2021 wird der Port erfolgreich gebaut und die gängigsten Funktionen funktionieren. Zu den portierten und funktionierenden Plugins gehören Colorer, MultiArc und TmpPanel. Es gibt auch ein neues NetRocks-Plugin, das Netzwerkverbindungen über FTP, FISH, SCP, SFTP, SMB, NFS und WebDAV implementiert. Stand Januar 2022 hat das Projekt die Betaphase erreicht, Unterstützung für Python- und Lua-Skripte wurde hinzugefügt.
far2l unterstützt auch „Terminalerweiterungen“. Obwohl FAR2L selbst eine TUI-Anwendung ist, kann es in GUI- oder TTY-Backend-Modi laufen. Während das TTY-Backend in jedem Terminal laufen kann (wie zum Beispiel xterm), kann es auch in einem integrierten Terminal des GUI-Modus far2l laufen und erhält Funktionen, die in „normalen“ Terminals nicht verfügbar sind (wie die Erkennung aller möglichen Tastenkombinationen, sogar mit Key-Up-Events). Außerdem kann das „Host“-far2l Zugriff auf eine gemeinsame Zwischenablage und Desktop-Benachrichtigungen bieten. Diese Erweiterungen können verwendet werden, indem man TTY far2l in einer SSH-Client-Sitzung ausführt, die im „Host“-GUI far2l geöffnet ist (oder indem man SFTP/SCP-Protokolle in NetRocks verwendet, um remote far2l über die "Befehl ausführen"-Funktion auszuführen).