Μόλις είδατε την δύναμη του Readline. Το Readline είναι μια βιβλιοθήκη που χρησιμοποιούν πολλά προγράμματα που κάνουν χρήση το τερματικό. Θα την βρούμε οχι μόνο στο Bash αλλά και σε πολλά άλλα προγράμματα και REPL σε γλώσσες προγραμματισμού. Το Readline δεν επιτρέπει την χρήση του σε προγράμματα που δεν έχουν άδεια χρήσης GNU, αλλά υπάρχουν αντίστοιχες βιβλιοθήκες με τις ίδιες λειτουργίες σε άλλες άδειες.
Η γνώση του Readline θα κάνει ευκολότερη την χρήση του τερματικού. Μπορείς πάντα να κάνεις χωρίς αυτήν, αλλά δεν βλάπτει να μάθεις μερικούς συνδυασμούς. Τύπωσε την εικόνα ή κάποια CheatSheets και μάθε κάποιους σιγά σιγά. Θα με θυμηθείς.
Για παράδειγμα συχνά δεν ξέρω αν έχω κάνει λάθος σε κάποιο κωδικό. Αντί να πατάω ← πολλές φορές μέχρι να είμαι σίγουρος πως σβήστηκαν τα πάντα πάτα απλά ένα CtrlU που σβήνει οτιδήποτε υπήρχε πριν.
Οι δύο τρόποι λειτουργίας
Υπάρχει μια μεγάλη κόντρα ανάμεσα σε δυο ιστορικούς διορθωτές κειμένου, τον vi και τον emacs. Αν ξέρεις κάποιον από αυτούς ξέρεις ήδη να δουλέψεις την Readline. Εξ ορισμού είναι φτιαγμένη να ακολουθεί τα κόλπα του emacs, αλλά εύκολα την κάνεις να ακολουθεί τον vi. Στο bash αρκεί
$ set -o vi
Μια ποιο γενική λύση είναι να προσθέσεις μια γραμμή στο αρχείο ρυθμίσεων της το ~/.inputrc
~/.inputrc
—
set editing-mode vi
Μπορείς να κάνεις πολλές ρυθμίσεις και παραμετροποιήσεις και να την φέρεις στα μέτρα σου ή να φτιάξεις μακροεντολές. Αλλά δεν θα μπω σε λεπτομέρειες, αν σε ενδιαφέρει κάτι τέτοιο, κοίταξε στο βιβλίο του Bash. Αν βεβαία βρεις ή φτιάξεις κάτι που σε βολεύει, μπορείς να το μοιραστείς μαζί μας.
Βασικοί συνδυασμοί
Οι παρακάτω συνδυασμοί είναι πολύ χρήσιμοι.
CTRL-a : move cursor to the beginning of line
CTRL-e : move cursor to the end of line
CTRL-d : delete a character
CTRL-f : move cursor forward (→)
CTRL-b : move cursor backward (←)
CTRL-p : previous line, previous command in history (↑)
CTRL-n : next line, next command in history (↓)
CTRL-k : kill the line after the cursor, add to clipboard
CTRL-u : kill the line before the cursor, add to clipboard
Πολύ ενδιαφέρουσες πληροφορίες.
Ξεχωρίζω την συντόμευση Alt + . για την εισαγωγή του ορίσματος της προηγούμενης εντολής.
Θα πρότεινα μια ενότητα tips & tricks ή αγαπημένες εφαρμογές (cli & gui)
Αυτές οι συντομεύσεις λοιπόν είναι μια γενικότερη βιβλιοθήκη που υπάρχει στο GNU/Linux όπως καταλαβαίνω τώρα ;
Και το Ctrl + r (reverse-i-search) ανήκει στη βιβλιοθήκη Readline ;
Δεν γνώριζα πως αυτές οι λειτουργίες είναι κάτω από την εν λόγο βιβλιοθήκη που χρησιμοποιείτε γενικότερα στο τερματικό, αλλά είχα την εντύπωση πως ανήκουν στο κέλυφος.
Ορίστε, ούτε αυτό το ήξερα! Καταπληκτικό! [ Ναι ήμουν από αυτούς που πάταγαν ένα σορό backspaces… ] Κοίτα να δεις τι υπάρχει! Σίγουρα μπορείς να παίζεις και χωρίς αυτές τις συντομεύσεις, αλλά έτσι και τις μάθεις νομίζω πως η ευελιξία και η ταχύτητα στην εργασία σου εκτοξεύετε και έπειτα δεν μπορείς χωρίς αυτό.
Συγνώμη αλλά στην ενότητα “Οι δύο τρόποι λειτουργίας” έπειτα από την κόντρα των δύο editors που αναφέρεις, κάπου σε χάνω μετά…
Ευχαριστούμε πολύ για το πολύ ενδιαφέρον και χρήσιμο topic!
Επίσης συμφωνώ με τον @kosmos890
Αν δεν είσαι φανατικός χρήστης του vi δεν σε αφορά καθόλου
Η Readline έρχεται μαζί με μια άλλη βιβλιοθήκη που κάνει διαχείριση του ιστορικού εντολών. Επίσης έχει δυνατότητες συμπλήρωσης (όπως πχ το Bash με το TAB), αλλά δεν κάνουν χρήση αυτής της δυνατότητας πολλά προγράμματα.
Γουστάρω απίστευτα vi, αλλά το θέμα είναι με τον vi να αρχίσεις να εξοικειώνεσαι πέρα από την απλή χρήση του ( που και αυτό θέλει δουλειά ), αλλά και με το να τον ρυθμίσεις ή και να κουμπώσεις ακόμη έξτρα plugins πάνω του ώστε να γίνει ακόμη πιο user friendly και πιο δυνατός.
Μου φαίνονται πολύ ενδιαφέρων και αυτά που αναφέρεις εδώ διότι δεν γνώριζα πως κρύβονται αυτά από πίσω… τρομερό!