Η ανάγκη να μάθουμε πώς να χρησιμοποιούμε τους επεξεργαστές κειμένου στο Linux είναι αδιαμφισβήτητη. Κάθε διαχειριστής συστήματος και μηχανικός ασχολείται με αρχεία διαμόρφωσης (απλό κείμενο) σε καθημερινή βάση και τις περισσότερες φορές αυτό γίνεται καθαρά χρησιμοποιώντας ένα ή περισσότερα εργαλεία από μια διεπαφή γραμμής εντολών (όπως νανο, δύναμη, ή emacs).
Ενώ νανο είναι ίσως πιο κατάλληλο για νέους χρήστες, δύναμη ή emacs αποτελούν το εργαλείο επιλογής για πιο έμπειρους χρήστες λόγω των προηγμένων δυνατοτήτων του.
Υπάρχει όμως ακόμη ένας λόγος για τον οποίο η εκμάθηση πώς να χρησιμοποιείτε έναν από αυτούς τους επεξεργαστές κειμένου πρέπει να αποτελεί κορυφαία προτεραιότητα για εσάς: μπορείτε είτε να αντιμετωπίσετε έναν διακομιστή μόνο CLI είτε να εκτελέσετε αντιμετωπίζετε πρόβλημα με τον διαχειριστή επιφάνειας εργασίας στον διακομιστή Linux ή την επιφάνεια εργασίας που βασίζεται σε GUI και ο μόνος πόρος για να το εξετάσετε και να επεξεργαστείτε αρχεία διαμόρφωσης είναι η εντολή γραμμή.
Μεταξύ αυτού του άρθρου και του επόμενου αυτής της σειράς 2 άρθρων, θα αναθεωρήσουμε 15 συμβουλές και κόλπα για την ενίσχυση του δύναμη δεξιότητες. Υποτίθεται ότι γνωρίζετε ήδη αυτόν τον επεξεργαστή κειμένου. Εάν όχι, κάντε τη χάρη στον εαυτό σας και εξοικειωθείτε με το vim πριν προχωρήσετε περαιτέρω: μπορεί να θέλετε να ανατρέξετε Πώς να χρησιμοποιήσετε το vi/vim ως πρόγραμμα επεξεργασίας πλήρους κειμένου για έναν πολύ λεπτομερή οδηγό για την έναρξη με το vim.
Μέρος 2ο: 8 Ενδιαφέρουσες συμβουλές και κόλπα Editor ‘Vi/Vim’
Αφού ξεκινήσετε το vim, πατήστε F1 ή χρήση : h σε πρώην λειτουργία για εισαγωγή της ηλεκτρονικής βοήθειας. Μπορείτε να μεταβείτε σε μια συγκεκριμένη ενότητα ή θέμα τοποθετώντας τον κέρσορα πάνω του και στη συνέχεια πατώντας το Ctrl+]
(Ctrl, στη συνέχεια, η τετράγωνη αγκύλη κλεισίματος).
Αφού τελειώσετε, πατήστε Ctrl+t
για επιστροφή στην προηγούμενη οθόνη. Εναλλακτικά, μπορείτε να αναζητήσετε ένα συγκεκριμένο θέμα ή εντολή με : h
.
Για παράδειγμα,
: h x
θα εμφανίσει τη βοήθεια για το Χ(διαγράφω) εντολή:
και
: h υποκατάστατο.
θα παρουσιάσει τη βοήθεια σχετικά με το υποκατάστατο εντολή (η τελευταία μας συμβουλή σε αυτό το άρθρο).
Εάν βρεθείτε να επεξεργάζεστε ένα αρχείο που είναι μεγαλύτερο από μία οθόνη, θα εκτιμήσετε τη λειτουργικότητα που παρέχει σημάδια. Μπορείτε να σκεφτείτε ένα σημάδι στο vim ως σελιδοδείκτη - μόλις το τοποθετήσετε κάπου, μπορείτε να επιστρέψετε σε αυτό γρήγορα και εύκολα. Ας υποθέσουμε ότι επεξεργάζεστε ένα 300 λέξεων αρχείο διαμόρφωσης και για κάποιο λόγο χρειάζεται επανειλημμένη εναλλαγή μεταξύ γραμμών 30 και 150 για παράδειγμα.
Πρώτα, μεταβείτε στη γραμμή #30 με την είσοδο :30 σε πρώην λειτουργία και, στη συνέχεια, επιστρέψτε στη λειτουργία εντολών και πατήστε μα (Μ, τότε ένα) για να δημιουργήσετε ένα σήμα με όνομα "ένα" στη γραμμή 30.
Στη συνέχεια, μεταβείτε στη γραμμή 250 (με :250 σε λειτουργία πρώην) και πατήστε `α
(backtick, λοιπόν ένα) για να επιστρέψετε στο σήμα ένα στη γραμμή 30. Μπορείτε να χρησιμοποιήσετε πεζά και κεφαλαία γράμματα για να προσδιορίσετε τα σημάδια στο vim (τώρα επαναλάβετε τη διαδικασία για να δημιουργήσετε ένα σήμα με όνομα ΕΝΑ στη γραμμή #250).
Μπορείτε να δείτε τα σημάδια σας με το
: σημάδια aA.
Όπως μπορείτε να δείτε, κάθε σήμα αναφέρεται σε μια συγκεκριμένη θέση γραμμής / στήλης στο αρχείο, όχι μόνο από γραμμή.
Ας υποθέσουμε ότι επεξεργάζεστε ένα σενάριο κελύφους και συνειδητοποιείτε ότι ο προηγούμενος προγραμματιστής ήταν μάλλον άθλιος όταν πρόκειται για εσοχή. Ας δούμε πώς μπορείτε να το διορθώσετε με μερικές εντολές vim.
Αρχικά, επιλέξτε ένα οπτικό μπλοκ τοποθετώντας τον κέρσορα στην αρχή του μπλοκ και, στη συνέχεια, πιέζοντας Ctrl+v (Ctrl, τότε v).
Στη συνέχεια, πατήστε το .
(τελεία) εντολή για επανάληψη είτε εσοχής. Το επιλεγμένο μπλοκ είτε θα μετακινηθεί προς τα δεξιά είτε προς τα αριστερά με ένα μόνο πάτημα του πλήκτρου.
Ένα άλλο κλασικό παράδειγμα χρήσης του τελεία Η εντολή είναι όταν πρέπει να διαγράψετε μια σειρά λέξεων: τοποθετήστε τον κέρσορα στην πρώτη λέξη που θέλετε να διαγράψετε και, στη συνέχεια, πατήστε dw. Για να συνεχίσετε τη διαγραφή των επόμενων λέξεων, απλώς πατήστε .
(συντομότερη και ευκολότερη από την επανάληψη dw πολλές φορές).
Εάν η διάταξη του πληκτρολογίου σας δεν επιτρέπει την εύκολη εισαγωγή ειδικών χαρακτήρων Unicode σε ένα αρχείο ή αν βρείτε μπροστά σε διακομιστή με διαφορετικές ρυθμίσεις γλώσσας από αυτήν που έχετε συνηθίσει, αυτό το κόλπο θα μπει εύχρηστος.
Για να το κάνετε αυτό, πατήστε Ctrl+v σε λειτουργία εισαγωγής που ακολουθείται από το γράμμα u και τον δεκαεξαδικό αριθμητικό κωδικό για τον χαρακτήρα που θέλετε να εισαγάγετε. Μπορείτε να ελέγξετε το Διαγράμματα Unicode για μια λίστα με ειδικούς χαρακτήρες και τους αντίστοιχους αριθμητικούς κωδικούς τους.
Για παράδειγμα,
Ctrl+v ακολουθούμενο από | επιστρέφει |
u0040 | @ |
u00B5 | μ |
u20AC | € |
Θα υπάρξουν στιγμές που θα χρειαστεί να εισαγάγετε την έξοδο εξωτερικών εντολών απευθείας σε ένα αρχείο που επεξεργάζεται με vim. Για παράδειγμα, δημιουργώ συχνά μια μεταβλητή με όνομα DIR στα σενάρια μου για να αποθηκεύσω την απόλυτη διαδρομή προς τον κατάλογο όπου βρίσκεται το σενάριο για να το χρησιμοποιήσω αργότερα στο σενάριο. Για να το κάνω αυτό, χρησιμοποιώ:
: r! pwd
σε πρώην τρόπος. Έτσι, εισάγεται ο τρέχων κατάλογος εργασίας.
Ένα άλλο παράδειγμα: εάν απαιτείται να χρησιμοποιήσετε την προεπιλεγμένη πύλη κάπου σε ένα σενάριο, μπορείτε εύκολα να την εισαγάγετε στο τρέχον αρχείο χωρίς έξοδο από το vim ως εξής:
:! r ip διαδρομή εμφάνιση | grep default | κοπή -f 3 -d ""
Εάν πρέπει να προσθέσετε τα περιεχόμενα ενός ξεχωριστού αρχείου σε αυτό που επεξεργάζεστε αυτήν τη στιγμή, η σύνταξη είναι παρόμοια με την προηγούμενη συμβουλή. Απλώς παραλείψτε το θαυμαστικό και είστε έτοιμοι.
Για παράδειγμα, για να αντιγράψετε τα περιεχόμενα του /etc/passwd:
: r /etc /passwd.
Μπορεί να σας φανεί χρήσιμη αυτή η συμβουλή όταν πρέπει να τροποποιήσετε αρχεία διαμόρφωσης, αλλά θέλετε να διατηρήσετε τα αρχικά για να επιστρέψετε στο "εργοστασιακές ρυθμίσεις" να το πω έτσι.
Αληθινή ιστορία. Μια φορά κατά τη διάρκεια μιας εξέτασης, μου ζητήθηκε να ανοίξω ένα μεγάλο αρχείο κειμένου που περιέχει τυχαία δεδομένα. Η εργασία που ανατέθηκε συνίστατο στην αντικατάσταση κάθε εμφάνισης της λέξης Σφαίρα με Γη (ναι, θυμάμαι ακόμα τις ακριβείς λέξεις). Για όσους γνωρίζουν sed, αυτό θα χτυπήσει κουδούνι πρώην λειτουργία, τύπος:
:%s/old/new/g.
όπου παλαιός είναι το μοτίβο για αναζήτηση και νέος είναι η συμβολοσειρά που θα την αντικαταστήσει.
Στην περίπτωση που περιγράφεται παραπάνω, χρησιμοποίησα:
:%s/Globe/Earth/g.
για να γίνει η δουλειά.
Λοιπόν, τι θέλετε να σας ζητηθεί πριν κάνετε αντικαταστάσεις; Ανετα. Απλά προσθέστε ένα ντο στο τέλος της παραπάνω εντολής, ως εξής:
:%s/old/new/gc.
Οι εμφανίσεις του μοτίβου θα επισημανθούν και θα ερωτηθείτε αν θέλετε να το αντικαταστήσετε με τη νέα συμβολοσειρά:
:%s/gacanepa/me/gc.
όπου
Σε αυτό το άρθρο ξεκινήσαμε να αναθεωρούμε μερικά vim συμβουλές και κόλπα για να προσθέσετε τις δεξιότητες επεξεργασίας κειμένου. Πιθανότατα θα σκεφτείτε αρκετές άλλες, οπότε μοιραστείτε τις χρησιμοποιώντας την παρακάτω φόρμα και θα εξετάσω το ενδεχόμενο να τις καλύψω στο επόμενο και τελευταίο άρθρο αυτής της σειράς vim. Ανυπομονώ να ακούσω από εσάς.