Ranger - console file manager

Kürzlich stieß ich auf Ranger. Einen File Manager für die Konsole. Mit VI Keybindings. Da hier einige Buzzwords direkt abgehakt wurden, verging nicht viel Zeit ehe es den Weg in meine Commandline fand.

Nach kurzer Eingewöhnung war ich überrascht wie schnell ich mich mit Ranger arrangieren konnte. Die Bewegungssteuerung funktioniert mit hjkl, mit gg springt man zum ersten Element einer Spalte, mit G zum letzten. Auch Shortcuts wie 4j(Gehe 4 Zeilen nach unten) oder 2k (Gehe zwei Zeilen nach oben) funktionieren einwandfrei. Operationen wie yy(yank) oder dd (delete) sind ebenfalls kein Problem.

Was mir auch sehr gut gefiel, Ranger startet sofort, lässt mich nach Dateien suchen und mit Druck auf q sofort wieder schließen. Ausgewählte Elemente Bilder werden direkt mit dem assozierten Programm geöffnet. Wähle ich ein Bild aus wird - dank eines internen Scripts namens Rifle - das Bildprogramm des jeweiligen OS geöffnet. Sollte ein anderes Verhalten gewünscht werden, lässt es sich konfigurieren.

Und wenn ich schon beim Öffnen bin, Ranger hat eine großartige Vorschaufunktion. Bilder lassen sich direkt in Ranger anzeigen - wahlweise als Direktbild (mithilfe von W3M) oder als ASCII.

Ranger Bilder Vorschau

Auch bei Textdokumenten gibt es eine Vorschau. Und das funktioniert selbst bei (den meisten) PDF Dokumenten.

Ranger PDF Vorschau

Installation

Ranger lässt sich auf Linux / OSX mit den gängigen Paketmanagern installieren.

# OSX
$ brew install ranger
# Ubuntu
$ sudo apt install ranger

Danach kann Ranger von überall mithilfe des ranger Befehls gestartet werden.

Und jetzt?

Config Dateien erstellen

Initial startet Ranger mit seiner Standardkonfiguration. Mithilfe von

ranger --copy-config=( rc | scope | ... | all)

werden die benötigten Config Dateien erstellt. Mit --copy-config=all werden direkt alle möglichen Files erstellt.

  • rc.conf - Hier werden alle Startoptionen eingestellt. U.a. Colorschemes, ImagePreviews, u.v.m.
  • Rifle.conf - Ranger nutzt ein internes Tool names Rifle. Rifle steuert welche Dateien womit geöffnet werden.
  • scope.sh - Wie wird eine Datei in der Vorschau angezeigt.
  • commands.py - Wer Python beherrscht kann Ranger beliebig erweitern
Vorschau Pakete installieren

Für die Inline-Vorschau von Bilder werden noch Pakete wie w3m benötigt. Diese kann man gleich mit installieren. Hier ein Beispiel für alle Pakete die man ggf. brauchen könnte.

$ sudo apt install highlight atool w3m poppler-utils caca-utils

Anschliessend sollte in der rc.conf noch Previewmethode ausgewählt und aktiviert werden.

set preview_images true
set preview_images_method w3m

Weitere Informationen gibt es im Ranger Github Wiki

Color Schemes

Standardmässig sind vier Schemes dabei: default, jungle, snow und solarized. In den Screenshots sieht man solarized.
Die Einstellung findet sich in der rc.conf unter set colorscheme.

Tabs

Ranger bietet die Möglichkeit Tabs anzulegen. Der Shortcut Alt + <Number> lässt einen schnell ein Tab erstellen / auswählen.

DevIcons

In meinen Screenshots oben sieht man noch Icons vor den Dateien. Dies ist mit dem Plugin RangerDevIcons möglich. Ausserdem benötigt man noch eine gepatchte Font von NerdFonts.

Ranger mit NerdFonts Icons
Flat File View

Mit :flat 0 lässt sich ein Flatview aktivieren. So werden alle Ordner in einer Spalte angezeigt. Mit :flat 1 wechselt man wieder zurück.

Shortcuts