Γρήγορη μετακίνηση στο τερματικό με το zoxide

To zoxide είναι ένας αντικαταστάτης της εντολής cd που μαθαίνει αυτόματα τους σημαντικούς για κάθε χρήστη καταλόγους. Η χρήση του είναι απλή αρχικά το χρησιμοποιούμε αντι για την εντολή cd και θα μάθει τις συνήθειες μας. Για παράδειγμα στον υπολογιστή μου δίνω

z user

και με πάει στον κατάλογο /home/talos/Projects/Sites/LinuxUser που είναι αυτός που τυχαίνει να θέλω :smiley:

Έδωσα μόνο το user χωρίς να με νοιάζει ότι ο κατάλογος είναι βαθιά χωμένος μέσα σε μια ιεραρχία ή ότι το LinuxUser δεν ξεκινάει με την λέξη που το ψάχνω και είναι με κεφαλαία. Ούτε υπάρχει κάποια δομή στην ονομασία στους καταλόγους, σε αντίθεση με άλλα εργαλεία. Απλά πηγαίνω συχνά σε αυτόν τον φάκελο άρα είναι σημαντικός για μένα. Δεν είναι μαγικό;

Βασική χρήση

Η εντολή z αντικαθιστά πλήρως την εντολή cd. Αν η cd δεν θα μπορούσε να κάνει κάτι θα ψάξει στην βάση και θα πάει σε αυτόν τον κατάλογο. Μπορούμε να προσθέσουμε επιπλέον τμήματα (αλλά με την σωστή σειρά). Για παράδειγμα

z projects linux

θα μας πάει στον ίδιο κατάλογο με προηγουμένως. Προϋπόθεση είναι πως έχουμε επισκεφθεί μια φορά αυτόν τον κατάλογο για να τον μάθει. Δηλαδή δεν θα καθίσει να ψάξει στον δίσκο αλλά μόνο στην βάση με τους καταλόγους που έχουμε επισκεφτεί προηγουμένως. Μπορούμε να προσθέσουμε ή να αφαιρέσουμε καταλόγους σε αυτή την βάση (με τις εντολές za και zr) αλλά το θεωρώ περιττό.

Με την εντολή zq μας δείχνει τον κατάλογο που θα πάει, αλλά δεν θα κάνει cd ενώ με την εντολή zi θα μας επιτρέψει να επιλέξουμε κάποιον άλλο κατάλογο, αν θέλουμε να πάμε σε κάποιο λιγότερο δημοφιλή προορισμό. Για αυτή την δυνατότητα θα πρέπει να έχει εγκατασταθεί και το fzf (βλέπε παρακάτω).

Στην πράξη αρκεί να συνηθίσεις να γράφεις z αντί για cd.

Θα μπορούσαμε να κάνουμε alias την εντολή zoxide στο cd (οι εντολές παραπάνω είναι aliases στην εντολή zoxide) αλλά δεν το βρίσκω μια καλή ιδέα, δεν θέλω να αλλάξω την λειτουργία μιας τόσο βασικής εντολής.

Εγκατάσταση του zoxide

Οδηγίες εγκατάστασης θα βρείτε στην επίσημη του σελίδα ανάλογα με την διανομή. Θα το βρούμε στα επίσημα αποθετήρια κάθε γνωστής διανομής.

To zoxide είναι γραμμένο σε Rust :rust: όποτε μπορεί να εγκατασταθεί και με την βοήθεια του cargo.

Προαιρετικά εγκαθιστούμε και το fzf το οποίο υπάρχει επίσης στα αποθετήρια.

Σε μια διανομή βασισμένη στο Debian :debian:, όπως το Mint :mint: ή το Ubuntu :ubuntu: , η εντολή είναι:

apt install zoxide fzf

Ενεργοποίηση του zoxide

Θα πρέπει να προσθέσουμε μια γραμμή στο αρχείο εκκίνησης του κελύφους που χρησιμοποιούμε και να ανοίξουμε ένα καινούργιο τερματικό.

κέλυφος αρχείο προσθέτω την γραμμή
bash ~/.bashrc eval “$(zoxide init bash)”
zsh ~/.zshrc eval “$(zoxide init zsh)”

Αυτό θα μπορούμε να το κάνουμε με ένα επεξεργαστή κειμένου της αρεσκείας μας

gedit ~/.bashrc

Oδηγίες για άλλα κελύφη θα βρούμε πάλι στην σελίδα του.

Καλή περιήγηση

Και αυτό ήταν, το zoxide είναι εκπληκτικό και κάνει την μετακίνηση ανάμεσα στους καταλόγους πολύ ποιο ευχάριστη και με ένα αίσθημα ελευθερίας που δεν έχει καμία άλλη λύση. Υπάρχουν πολλές άλλες λύσεις που κάνουν το ίδιο πράγμα ακριβώς, γραμμένες σε γλώσσα κελύφους ή σε γλώσσες όπως η lua, αλλά το zoxide είναι πολύ ποιο γρήγορο και καλύτερο, οπότε δεν θα μπω στον κόπο να αναφερθώ.

2 Likes