fff – megaszybki tekstowy menedżer plików

fff (Fucking Fast File-manager) to minimalistyczny i bardzo szybki menedżer plików dla trybu tekstowego. Napisany w Bashu do swego działania potrzebuje tylko coreutils.
Jeśli nie boisz się vim-a z dużym prawdopodobieństwem polubisz też fff ;).

Poza wspomnianą już megaszybkością i minimalizmem inne kluczowe funkcje fff to:

  • szybkie płynne przewijanie (za pomocą skrótów klawiszowych vim)
  • obsługa LS_COLORS
  • obsługa typowych operacji na plikach (kopiowanie, wklejanie, zmiana nazwy, wycinanie itp.)
  • natychmiastowe wyszukiwanie podczas pisania
  • uzupełnianie tabulacji dla wszystkich poleceń
  • wyświetlanie obrazów za pomocą w3m-img! (nie na wszystkich terminalach)
  • automatyczne cd przy wyjściu (przejście do katalogu w którym się znajdujemy)
  • zakładki pod klawiszami [1-9]

Do otwierania plików w zewnętrznych programach fff wykorzystuje xdg-open, także są one otwierane zgodnie z ustawieniami dla każdego typu pliku.

Instalacja

Użytkownicy Arch/Manjaro mogą zainstalować program:

pacman -S fff

W innych dystrybucjach zgodnie z instrukcją.

Skróty klawiszowe

j - przewijanie dół
k - przewijanie góra
h - przejście do katalogu nadrzędnego
l - przejście do katalogu podrzędnego

enter - wejście do katalogu
backspace - przejście do katalogu nadrzędnego

- - do poprzedniego katalogu

g - skok na górę listy
G - skok na dół listy

: - idź d katalogu przez wpisanie jego nazwy (działa dopełnianie)

. - pokaż/ukryj ukryte pliki i katalogi
/ - szukaj
t - idź do kosza
~ - katalog domowy
e - odśwież katalog bieżący
! - uruchom powłokę w katalogu bieżącym

x - pokaż atrybuty pliku/katalogu
i - pokaż obrazek za pomocą w3m-img

down - przewijanie dół
up -    przewijanie góra
left -  przejście do katalogu nadrzędnego
right - przejście do katalogu podrzędnego

f - utwórz plik
n - utwórz katalog
r - zmiana nazwy
X - nadaj/usuń prawo wykonywalności

y - zaznacz do kopiowania
m - zaznacz do przeniesienia
d - zaznacz do kosza (~/.local/share/fff/trash/)
s - zaznacz do utworzenia linku symbolicznego
b - zaznacz do masowej zmiany nazw

Y - zaznacz wszystko do kopiowania
M - zaznacz wszystko do przeniesienia
D - zaznacz wszystko do kosza (~/.local/share/fff/trash/)
S - zaznacz wszystko do tworzenia linków symbolicznych
B - zaznacz wszystko do masowej zmiany nazw

p - wklej/przenieś/usuń/zmień nazwy
c - wyczyść zaznaczenie plików

[1-9] - ulubione/zakładki (patrz Konfiguracja)

q - wyjście z przejściem do katalogu bieżącego 'cd' (jeśli skonfigurowane)
Ctrl+C - wyjdź bez 'cd'

Konfiguracja

Program konfigurujemy za pomocą ustawienia odpowiednich zmiennych środowiskowych np. w pliku .bashrc czy .zshrc.

Aby uruchamiać fff za pomocą f oraz przy wyjściu znaleźć się w bieżącym katalogu dodamy funkcję:

f() {
    fff "$@"
    cd "$(cat "${XDG_CACHE_HOME:=${HOME}/.cache}/fff/.fff_d")"
}

Przykładowa konfiguracja zakładek/ulubionych:

export FFF_FAV1=~/.bashrc
export FFF_FAV2=~/.config/
export FFF_FAV3=~/bin/
export FFF_FAV4=/.config/openbox/
export FFF_FAV5=/
export FFF_FAV6=
export FFF_FAV7=
export FFF_FAV8=
export FFF_FAV9=

Jak widać możemy tworzyć zakładki zarówno do katalogów, jak i do plików. Tutaj wciśnięćie 1 spoowoduje otwarcie pliku ~/.bashrc w domyślnym edytorze vim.
Domyślny edytor możemy zmienić ustawiając zmienną środowiskową:

export EDITOR="nano"  # zbrodnia! :P

Zachęcam gorąco do wypróbowania fff, jest on prosty w obsłudze, poznanie go i skonfigurowanie zajmuje tylko chwilę, a może zdecydowanie umilić i przyspieszyć pracę w terminalu.

Więcej informacji na temat konfiguracji można znaleźć w repozytorium fff na githubie.

Dodaj komentarz