cfiles
ist ein Terminal-Dateimanager mit vim-ähnlichen Tastenkombinationen, geschrieben in C unter Verwendung der Ncurses-Bibliothek. Ziel ist es, eine Ranger-ähnliche Schnittstelle bereitzustellen und gleichzeitig leicht, schnell und minimal zu sein.
ncursesw
cp
und mv
zum Kopieren und Verschiebenfzf
für die Suchew3mimgdisplay
oder Überzug
für Bildvorschauenmediainfo
zum Anzeigen von Medieninformationen und Dateigrößenatool
für Archivvorschauenpoppler
(speziell pdftoppm
) für PDF-Vorschauen Benutzer von Arch Linux können das AUR-Paket verwenden.
macOS-Benutzer können brew oder macports verwenden
Zum Kompilieren ausführen
make
und dann rennen,
sudo make install
zu installieren.
Schlüssel | Funktion |
---|---|
hjkl | Navigationstasten |
G | Gehe zum Ende |
G | Nach oben gehen |
H | Zum Anfang der aktuellen Ansicht gehen |
M | Gehen Sie zur Mitte der aktuellen Ansicht |
L | Gehen Sie zum Ende der aktuellen Ansicht |
pgup | Scrollen Sie eine Seite nach oben |
pgdn | Scrollen Sie eine Seite nach unten |
F | Suche mit fzf |
F | Suchen Sie mit fzf im aktuellen Verzeichnis |
S | Öffnen Sie Shell im aktuellen Verzeichnis |
Raum | Zur Auswahlliste hinzufügen/entfernen |
Tab | Auswahlliste anzeigen |
e | Auswahlliste bearbeiten |
u | Leere Auswahlliste |
j | Dateien aus Auswahlliste kopieren |
v | Dateien aus der Auswahlliste verschieben |
A | Dateien in der Auswahlliste umbenennen |
dd | Dateien aus der Auswahlliste in den Papierkorb verschieben |
dD | Ausgewählte Dateien entfernen |
ich | Medieninfo und allgemeine Informationen anzeigen |
ICH | Vorschau anzeigen |
. | Versteckte Dateien umschalten |
B | Grenzen umschalten |
' | Lesezeichen anzeigen/gehe zu |
M | Lesezeichen hinzufügen |
E | Lesezeichen bearbeiten |
P | Führen Sie ein externes Skript aus |
R | Neu laden |
Q | Aufhören |
cfiles
verwendet das Verzeichnis $XDG_CONFIG_HOME/cfiles
zum Speichern der Zwischenablagedatei. Dies wird verwendet, damit die Zwischenablage von mehreren Instanzen von cfiles
gemeinsam genutzt werden kann. Aus diesem Grund werde ich in cfiles
keine Registerkarten hinzufügen, da mehrere Instanzen geöffnet und von jedem Terminal-Multiplexer oder Ihrem Fenstermanager verwaltet werden können. Beachten Sie, dass dies auch bedeutet, dass die Auswahlliste auch dann bestehen bleibt, wenn alle Instanzen geschlossen sind.
cfiles
verwendet auch $HOME/.local/share/Trash/files
als Papierkorbverzeichnis. Stellen Sie daher sicher, dass dieses Verzeichnis vorhanden ist, bevor Sie versuchen, eine Datei zu löschen.
Zum Speichern von Lesezeichen verwendet cfiles
die Datei $XDG_CONFIG_HOME/cfiles/bookmarks
. Lesezeichen werden in der Form
gespeichert. Sie können diese Datei entweder direkt bearbeiten oder in cfiles
m
drücken, um neue Lesezeichen hinzuzufügen.
cfiles
sucht im Verzeichnis $XDG_CONFIG_HOME/cfiles/scripts
nach externen Skripten. Stellen Sie sicher, dass die Skripte ausführbar sind, bevor Sie sie in das Skriptverzeichnis verschieben.
Wenn $XDG_CONFIG_HOME
nicht festgelegt ist, wird $HOME/.config
verwendet.
Sie können FILE_OPENER
in config.h
festlegen, um Ihr Programm zum Öffnen von Dateien anzugeben. Standardmäßig ist die Verwendung xdg-open
eingestellt, Sie können dies jedoch in etwas wie thunar
ändern. macOS-Benutzer müssen es auf open
einstellen.
Für die Bildvorschau können Sie entweder w3mimgdisplay
oder Überzug
(Link) verwenden. Jede Methode hat ihre eigenen Vor- und Nachteile.
Um Überzug
für Bildvorschauen zu verwenden, legen Sie DISPLAYIMG
und CLEARIMG
in config.h
auf die Pfade der Skripte displayimg_uberzug
bzw. clearimg_uberzug
fest.
w3mimgdisplay
Ich empfehle Überzug
, da die Vorschauen bei Änderungen der Terminalgröße gut skalieren und bei wechselnden Arbeitsbereichen nicht verschwinden.
Um w3mimgdisplay
für Bildvorschauen zu verwenden, legen Sie DISPLAYIMG
und CLEARIMG
in config.h
auf die Pfade der displayimg
bzw. clearimg
-Skripte fest.
KEY_RELOAD
drücken (standardmäßig R ).Möglicherweise müssen Sie die Skripte ein wenig modifizieren, was Sie hier nachlesen können.
Ich wollte mein C verbessern und Ncurses lernen, also entschied ich, dass dies ein ideales Projekt wäre.
Abgesehen davon wollte ich schon immer eine Alternative zu Ranger, die schneller ist und dennoch eine ähnliche Benutzeroberfläche hat.