Vim αναζήτηση και αντικατάσταση

Vim Search Replace



Το Vim είναι ένας προηγμένος και δημοφιλής επεξεργαστής κειμένου που είναι προεγκατεστημένος στις περισσότερες διανομές Linux. Είναι ένας επεξεργαστής κειμένου που βασίζεται σε γραμμή εντολών και χρησιμοποιείται κυρίως σε λειτουργικά συστήματα που δεν βασίζονται σε GUI. Είναι εξαιρετικά διαμορφώσιμο και έρχεται με πολλές δυνατότητες. Ένα σημαντικό σημείο σχετικά με το Vim είναι ότι είναι πολύ βελτιστοποιημένο για επανάληψη.

Σε αυτό το άρθρο, θα εξηγήσουμε μία από τις πιο χρήσιμες δυνατότητές του που είναι η αναζήτηση και η αντικατάσταση. Με μια χούφτα διαμόρφωσης, μπορείτε να αναζητήσετε οτιδήποτε θέλετε με την εκπληκτική ταχύτητα και με λεπτότερη λεπτομέρεια.







Μέθοδος #1 Εύρεση και αντικατάσταση ενός γεγονότος κάθε φορά (χρησιμοποιώντας την εντολή κάθετος και τελείας)

Ο απλούστερος τρόπος για να αναζητήσετε και να αντικαταστήσετε μια λέξη στο Vim είναι χρησιμοποιώντας την εντολή κάθετο και τελεία. Το Slash (/) μπορεί να χρησιμοποιηθεί για αναζήτηση μιας λέξης ενώ η τελεία (.) Μπορεί να χρησιμοποιηθεί για την αντικατάσταση αυτής της λέξης.



Ακολουθήστε τα παρακάτω απλά βήματα για να αναζητήσετε και να αντικαταστήσετε οποιαδήποτε λέξη στον επεξεργαστή Vim:



  • Ανοίξτε το αρχείο στο Vim
  • Πατήστε το κλειδί ( /) μαζί με τον όρο αναζήτησης όπως / search_term και πατήστε Enter. Θα επισημάνει την επιλεγμένη λέξη.
  • Στη συνέχεια, πατήστε το πάτημα του πλήκτρου cgn για να αντικαταστήσετε τη επισημασμένη λέξη και εισαγάγετε το
  • Επιστρέψτε στην κανονική λειτουργία. Στη συνέχεια, πατήστε n για να μεταβείτε στην επόμενη εμφάνιση του όρου αναζήτησης.
  • Στη συνέχεια, πατήστε την κουκκίδα (.) Εάν θέλετε να αντικαταστήσετε το επόμενο περιστατικό με τον ίδιο αντικαταστάτη, διαφορετικά πατήστε ξανά το πλήκτρο n για να μεταβείτε στην επόμενη εμφάνιση.

Είναι η γρηγορότερη και καλύτερη μέθοδος για βασική αναζήτηση και αντικαθιστά λειτουργίες, καθώς περιλαμβάνει μόνο μερικές πληκτρολογήσεις και λιγότερη αναστάτωση στην τρέχουσα εργασία σας. Ωστόσο, για την αναζήτηση μιας λέξης που εμφανίζεται πάρα πολλές φορές, θα γίνει μια επαναλαμβανόμενη και χρονοβόρα εργασία.





Με το Vim, υπάρχει ένας άλλος καλύτερος τρόπος για να αποφύγετε αυτήν την επαναλαμβανόμενη εργασία που χρησιμοποιεί η εντολή υποκατάστατου.

Μέθοδος #2 Εύρεση και αντικατάσταση χρησιμοποιώντας την εντολή Αντικατάσταση

Η εντολή υποκατάστατου μπορεί να χρησιμοποιηθεί για την εκτέλεση βασικής έως προηγμένης αναζήτησης και την αντικατάσταση συναρτήσεων με μία μόνο εντολή. Η σύνταξη για αυτήν την εντολή είναι:



$:μικρό/<όρος αναζήτησης> /<αντικαταστήστε> /επιλογή

Σημειώστε ότι πρέπει να εισαγάγετε αυτήν την εντολή σε κανονική λειτουργία.

Οπου

  • S: σημαίνει αντικαταστάτης
  • search_term: η λέξη που θέλετε να αναζητήσετε και να αντικαταστήσετε
  • install_term: η λέξη με την οποία θέλετε να την αντικαταστήσετε
  • Επιλογή: c (για επιβεβαίωση), g (αντικατάσταση όλων των εμφανίσεων σε μία γραμμή), i (για παράβλεψη της υπόθεσης)

Αναζήτηση και αντικατάσταση

Για να εκτελέσετε βασική αναζήτηση και να αντικαταστήσετε χρησιμοποιώντας την εντολή υποκατάστατου, χρησιμοποιήστε την ακόλουθη σύνταξη:

:%μικρό/<όρος αναζήτησης> /<αντικαταστήστε> /σολ

Αυτή η εντολή θα αντικαταστήσει όλες τις περιπτώσεις του search_term με το

Για παράδειγμα, αυτό είναι το δείγμα κειμένου:

Το Ubuntu είναι ένα από τα πιο χρησιμοποιούμενα λειτουργικά συστήματα Linux. Το Ubuntu περιλαμβάνει χιλιάδες χρήσιμα προγράμματα. Με τη γραμμή εντολών του Ubuntu, μπορείτε να ολοκληρώσετε σχεδόν κάθε είδους εργασία.

Για να αντικαταστήσετε κάθε εμφάνιση του Ubuntu με Debian στο ακόλουθο κείμενο, θα χρησιμοποιηθεί η ακόλουθη εντολή:

:%μικρό/Ubuntu/Debian/σολ

Αναζήτηση και αντικατάσταση σε μία μόνο γραμμή

Για να αναζητήσετε και να αντικαταστήσετε την εμφάνιση μιας λέξης μόνο σε μία γραμμή αντί για ολόκληρο το αρχείο, χρησιμοποιήστε την ακόλουθη σύνταξη:

:μικρό/<όρος αναζήτησης> /αντικαταστήστε/σολ

Για παράδειγμα, για να αντικαταστήσετε την εμφάνιση του Ubuntu με Debian στο παραπάνω δείγμα κειμένου, θα χρησιμοποιηθεί η ακόλουθη εντολή χωρίς το σύμβολο %:

:μικρό/Ubuntu/Debian/σολ

Αναζήτηση και αντικατάσταση με επιβεβαίωση

Εάν θέλετε να σας ζητηθεί επιβεβαίωση πριν αντικαταστήσετε τον όρο αναζήτησης, χρησιμοποιήστε το c στο τέλος της εντολής αναζήτησης ως εξής:

:μικρό/<όρος αναζήτησης> /<αντικαταστήστε> /gc

Η παραπάνω εντολή θα ζητήσει επιβεβαίωση πριν από κάθε αντικατάσταση (Εισαγάγετε y για ναι ενώ n για όχι).

Αναζήτηση και αντικατάσταση χωρίς διάκριση πεζών -κεφαλαίων

Όταν πραγματοποιείτε αναζήτηση και αντικατάσταση στο Vim, από προεπιλογή είναι διάκριση πεζών -κεφαλαίων. Μπορείτε να εκτελέσετε αναζήτηση χωρίς διάκριση πεζών -κεφαλαίων, προσθέτοντας i στο τέλος της εντολής ως εξής:

:μικρό/<όρος αναζήτησης> /<αντικαταστήστε> /δίνω

Για παράδειγμα, για την αναζήτηση του όρου Ubuntu ανεξάρτητα από την περίπτωσή του (UBUNTU, Ubuntu, ubuntu, uBuntu), θα χρησιμοποιηθεί η ακόλουθη εντολή:

:μικρό/ubuntu/ντεμπιαν/δίνω

Αναζήτηση και αντικατάσταση ολόκληρης της λέξης

Από προεπιλογή, η αναπληρωματική εντολή αναζητά οποιαδήποτε αντιστοίχιση, είτε είναι μερική είτε πλήρης. Για να αντιστοιχίσετε το ακριβές όρο αναζήτησης και, στη συνέχεια, να το αντικαταστήσετε με το όρο

Για παράδειγμα, σε ορισμένα έγγραφα, θέλετε να κάνετε αναζήτηση και να αντικαταστήσετε την ακριβή λέξη που λέτε από μένα. Σε αυτή την περίπτωση, θα χρησιμοποιηθεί η ακόλουθη εντολή:

:μικρό/<εσείς> /Εγώ/

Θα βρει τη λέξη εσύ και θα την αντικαταστήσει με εμένα. Ωστόσο, δεν θα αντικαταστήσει τις λέξεις σαν τη δική σας.

Αναζήτηση και αντικατάσταση λέξεων μεταξύ συγκεκριμένων γραμμών

Για να αναζητήσετε μια λέξη μεταξύ των συγκεκριμένων γραμμών αντί για μία μόνο γραμμή ή ολόκληρο το αρχείο, μπορείτε να χρησιμοποιήσετε την ακόλουθη σύνταξη:

:<γραμμή εκκίνησης>>,<τελική γραμμή>>μικρό/<όρος αναζήτησης> /<αντικαταστήστε> /σολ

Για παράδειγμα, για αναζήτηση και αντικατάσταση της εμφάνισης του Ubuntu με Debian από γραμμές που κυμαίνονται από 3 έως 8 σε κάποιο αρχείο, η εντολή θα είναι:

:1, 10s/ubuntu/ντεμπιαν/σολ

Για αναζήτηση και αντικατάσταση της εμφάνισης μιας λέξης από την τρέχουσα γραμμή στην επόμενη x σειρά γραμμών, θα χρησιμοποιηθεί η ακόλουθη σύνταξη:

:μικρό/όρος αναζήτησης/αντικαταστήστε/g x

Ομοίως, για αναζήτηση και αντικατάσταση της εμφάνισης μιας λέξης από την τρέχουσα γραμμή στην τελευταία γραμμή: θα χρησιμοποιηθεί η ακόλουθη σύνταξη:

:.,$ s/όρος αναζήτησης/αντικαταστήστε/σολ

ΣΥΜΠΕΡΑΣΜΑ

Σε αυτό το άρθρο, μάθαμε τους δύο τρόπους γραμμής εντολών για αναζήτηση και αντικατάσταση οποιασδήποτε λέξης σε έναν επεξεργαστή Vim. Η πρώτη εντολή που χρησιμοποιούσε την κάθετο και την τελεία είναι η απλούστερη και ευκολότερη μέθοδος, αλλά αποδεικνύεται ότι επαναλαμβάνεται όταν ψάχνετε και αντικαθιστάτε μια λέξη που εμφανίζεται πάρα πολλές φορές. Η άλλη εντολή που είναι εντολή αντικατάστασης μπορεί να φαίνεται δύσκολη και περίπλοκη, αλλά μόλις αρχίσετε να την εξασκείτε, θα τη βρείτε εξαιρετικά χρήσιμη σε πολλά σενάρια.