Die Dateiverwaltung mit der Konsole ist manchmal recht mühselig. Immer wieder müssen die Verzeichnisse gewechselt werden,
Dateien müssen angelegt, umbenannt, kopiert oder verschoben werden. Für jede Aktion muss wieder ein neuer Befehl eingegeben
werden oder der Dateiname muss immer wieder angegeben werden.
Klar, dass die Autovervollständingung mittels der Tab-Taste eine große Hilfe ist und die zsh
dazu beiträgt, aber
seien wir doch mal ehrlich. Auf Dauer ist es recht zeitaufwändig.
Ich habe es selbst gemerkt, da ich diese Dinge seit mehr als einem Jahr tue.
Seit kurzem nutze ich dafür einen Dateimanager, mit dem viel Zeit gespart werden kann. Ich hatte mir vorher schon ein paar Dateimanager für die Konsole angesehen. Zum Beispiel habe ich mal den Midnight Commanger ausprobiert, aber nach einem kurzen Testen hat er mir nicht gefallen.
Außerdem gibt es noch Dateimanager, die die Tastenkombinationen von vim
nutzen, sodass ich nicht viel umlernen muss
und viel Funktionalität vorhanden ist.
Unter diesen Dateimanagern habe ich zwei entdeckt. Der eine nennt sich Ranger, der andere
VIFM. Ranger gefiel mir nicht sonderlich, da ich schon eine zweigeteilte
Sicht haben wollte. Das Löschen von Dateien hatte auch nicht sehr gut funktioniert. Die Tastenkombination dd
sollte
dies tun -- tat es aber nicht.
In VIFM ist das schon besser. Es hat eine zweigeteilte Sicht und die normalen Tastenkombinationen fuktionieren
intuitiv richtig. Ein paar von diesen sind nachfolgend dargestellt:
k moves up.
j moves down.
h moves up one directory.
l moves into a directory or launches a file.
gg move to the top of the file list.
G move to the bottom of the file list.
H move to the first file in the window.
M move to the file in the middle of the window.
L move to the last file in the window.
e explore file in the current pane.
i opens file with associated program even if it's an executable.
cw rename a file or files.
cW change only name of file (without extension).
cl change link target.
yy yanks the selected files.
dd moves the selected files to the trash directory.
DD removes the selected files.
p will copy the yanked files to the current directory or move the files to the current
directory if they were deleted with dd or :d[elete] or if the files were yanked from
the Trash directory.
u undo last change.
Ctrl-R redo last change.
v enter visual mode.
V enter visual mode.
C clone file [count] times.
Standardprogramme
Damit nach dem Öffnen von Dateien automatisch das richtige Programm gestartet wird, habe ich meine Konfiguration um ein paar Zeilen erweitert:
``` text Auszug aus ~/.vifm/vifmrc " FuseZipMount filetype .zip,.jar,.war,.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
" Documents filetype .pdf,.djvu,*.ps evince
" Media filetype .avi,.mov,.mkv,.wmv,.mp4 vlc filetype .mp3 mpg123 filetype .jpg,.jpeg,.gif,.png,.bmp,.tiff eog
" ISOs filetype *.iso mountiso ```
Funktionen
Dieser Filemanager hat verschiedene nützliche Funktionen, die nachfolgend vorgestellt werden.
Mapping
Durch die Befehle :map
, :noremap
, :unmap
lassen sich eigene Tastenkombinationen erstellen und löschen.
Suchen
Das Suchen geschieht mit dem Zeichen /
, wie es in VIM auch der Fall ist. Der nächste passende Treffer wird mit n
und der vorherige mit N
gefunden.
Filter
In der Default-Ansicht werden keine versteckten Dateien (Dot-Files) angezeigt. Nachdem man za
eingegeben hat, werden
auch diese angezeigt, sodass das Navigieren darin möglich ist.
Durch den Befehl :filter /regex/
werden alle Dateien nach dem entsprechenden
Regulären Ausdruck (Regex) gefiltert. Zum Beispiel habe ich einen
Ordner, in dem einige Videos vom 28C3 enthalten sind. Diese würde ich gerne nach
deutschen Videos filtern. Der Inhalt des Verzeichnisses sieht entsprechend aus:
[...]
28c3-4800-en-how_governments_have_tried_to_block_tor_h264.mp4
28c3-4802-en-towards_a_single_secure_european_cyberspace_h264.mp4
28c3-4804-de-politik_hacken_h264.mp4
28c3-4811-en-rootkits_in_your_web_application_h264.mp4.part
28c3-4813-en-macro_dragnets_h264.mp4
28c3-4814-en-behind_the_scenes_of_a_c64_demo_h264.mp4
28c3-4816-en-7_years_400_podcasts_and_lots_of_frequent_flyer_miles_h264.mp4
28c3-4818-en-evolving_custom_communication_protocols_h264.mp4
28c3-4821-en-not_your_grandfathers_moon_landing_h264.mp4
28c3-4826-en-a_brief_history_of_plutocracy_h264.mp4
28c3-4828-de-antiforensik_h264.mp4
28c3-4832-de-neue_leichtigkeit_h264.mp4
28c3-4844-de-eu_datenschutz_internet_der_dinge_h264.mp4
28c3-4847-en-reverse_engineering_usb_devices_h264.mp4
28c3-4848-en-the_coming_war_on_general_computation_h264.mp4
28c3-4856-en-the_engineering_part_of_social_engineering_h264.mp4
28c3-4866-de-fnord_jahresrueckblick_h264.mp4
[...]
Mit den beiden folgenden Befehlen werden nur deutsche Videos angezeigt:
:filter /28c3-.{4}-de.*/
:invert
oder abgekürzt mit
:filter! /28c3-.{4}-de.*/
Ich hatte auch /28c3-\d{4}-de.*/
ausprobiert, aber leider wurde \d
nicht als Zahl erkannt.
Die Ausgabe ist danach:
[...]
28c3-4804-de-politik_hacken_h264.mp4
28c3-4828-de-antiforensik_h264.mp4
28c3-4832-de-neue_leichtigkeit_h264.mp4
28c3-4844-de-eu_datenschutz_internet_der_dinge_h264.mp4
28c3-4866-de-fnord_jahresrueckblick_h264.mp4
[...]
Marks
Ich habe mir ein paar Markierungen gesetzt, um schnell zu diesen Ordnern zu gelangen. Das folgende steht in meiner Konfiguration:
text Auszug aus ~/.vifm/vifmrc
mark h /home/dsiw ../
mark b /home/dsiw/.blog source/
mark d /home/dsiw/downloads ../
Es können Markierungen aber auch dynamisch während der Laufzeit von VIFM gesetzt werden, indem man ein m
vor
einen Buchstaben setzt. Zum Beispiel wird mG
eine Markierung gesetzt. So lässt sich die aktuelle Position des Fensters
mit 'G
wieder aufrufen.
Weitere Funktionen
- Durch den Befehl
:view
wird der Inhalt der aktuellen Datei im rechten Fenster dargestellt. - Der Befehl
:sync
bewirkt, dass der eigene Standort im anderen Fenster aufgerufen wird. - Hat man sich in einen bestimmten Ordner gehangelt, dann reicht der Befehl
:sh[ell]
, um eine Shell in diesem Ordner zu öffnen. - Es lassen sich alle Befehle in einer Shell auch in VIFM ausführen. Dazu muss vor diesen Befehl ein
:!
stehen: also um Bepsiel:!ls -lah
. - uvm.
Weitere Informationen
- Manpage von VIFM durch den Aufruf von
man vifm
- Lernen von Regulären Ausdrücken
- VIFM auf GitHub
- Ranger auf GitHub
Kennt ihr noch weitere oder sogar bessere Dateimanager, die auf der Konsole genutzt werden können? Welche nutzt ihr?