Τι είναι τα Vim Registers

Ti Einai Ta Vim Registers



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

Εάν χρησιμοποιείτε Vim, τότε πρέπει να χρησιμοποιείτε τους καταχωρητές Vim. Κάθε φορά που αντιγράφετε/διαγράφετε κείμενο ή εκτελείτε μια λειτουργία εντολής, το Vim αποθηκεύει αυτές τις πληροφορίες στα μητρώα. Όταν το επικολλάτε, το Vim λαμβάνει τα δεδομένα από τον καταχωρητή και τα τραβάει στο buffer. Με άλλα λόγια, οι καταχωρητές Vim λειτουργούν ως πρόχειρο για την αποθήκευση του ιστορικού κειμένου και εντολών.

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







Σημείωση : Για αυτό το σεμινάριο, εκτελώ εντολές στο macOS. Το Vim είναι μια εφαρμογή πολλαπλών πλατφορμών, επομένως οι εντολές που αναφέρονται σε αυτόν τον οδηγό θα ισχύουν για όλες τις εκδόσεις Vim ανεξάρτητα από το λειτουργικό σύστημα.



Χειριστές εγγραφής Vim

Οι καταχωρητές στο Vim μπορούν να χρησιμοποιηθούν χρησιμοποιώντας λειτουργίες όπως αντιγραφή, διαγραφή ή αλλαγή. Κάθε λειτουργία έχει συγκεκριμένους τελεστές, όπως για την εκτροπή κειμένου χρησιμοποιείται ο τελεστής y ενώ για τη διαγραφή κειμένου χρησιμοποιείται ο τελεστής d. Μια λίστα με τους συνήθως απασχολούμενους χειριστές δίνεται παρακάτω:

εεε Yanks (αντιγράφει) τη γραμμή
δδ Διαγράφει τη γραμμή
cc Διαγράφει τη γραμμή και ενεργοποιεί τη λειτουργία INSERT
μικρό Διαγράφει τον χαρακτήρα και ξεκινά τη λειτουργία INSERT για αντικατάσταση
Χ Διαγράφει τον χαρακτήρα κάτω από τον κέρσορα
q Μακροεντολή; αποθηκεύει το σύνολο των εντολών σε έναν συγκεκριμένο καταχωρητή

Για να εκτυπώσετε το αποθηκευμένο κείμενο, Π ή Π χρησιμοποιούνται χειριστές:

Π Βάλτε (επικόλληση) το κείμενο μετά τον κέρσορα
Π Βάλτε το κείμενο πριν από τον κέρσορα

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

Μητρώα καταχώρισης

Για να παραθέσετε όλους τους καταχωρητές χρησιμοποιήστε το :κανω ΕΓΓΡΑΦΗ ή :reg εντολή και για να παραθέσετε τον συγκεκριμένο καταχωρητή χρησιμοποιήστε το :reg ', όπου είναι το όνομα μητρώου (π.χ., 0-9, a-z).

Με τον ίδιο τρόπο, για να παραθέσετε το περιεχόμενο πολλών καταχωρητών, χρησιμοποιήστε το :reg “ εντολή.

Στη λίστα μητρώου, θα δείτε τρεις στήλες, Όνομα, Τύπος και Περιεχόμενο . Εδώ, ο Τύπος σημαίνει τον τύπο περιεχομένου και όχι τον τύπο καταχωρητή. Τρία τύπους του περιεχομένου μπορεί να τροποποιηθεί με μητρώα.

  • μεγάλο : Γραμμικά
  • ντο : Χαρακτηριστικά
  • σι : Αγωνιστικά

Για παράδειγμα, εάν το περιεχόμενο αντιγράφεται με χρήση γραμμής (εε) τότε ο τύπος περιεχομένου θα είναι μεγάλο , αν είναι από άποψη χαρακτήρα (Ναί) τότε ο τύπος θα είναι ντο , και εάν το περιεχόμενο αντιγράφεται ομαδικά (ctrl+v και y) τότε ο τύπος θα εμφανιστεί ως σι .

Εργασία με Vim Registers

Οι καταχωρητές Vim μπορούν να χρησιμοποιηθούν για την αποθήκευση του περιεχομένου χρησιμοποιώντας τους τελεστές yank, delete και change. Το αποθηκευμένο περιεχόμενο μπορεί να προσπελαστεί χρησιμοποιώντας τους τελεστές put.

Αποθήκευση κειμένου σε μητρώο
Όταν πατάτε το εεε κλειδί για την αντιγραφή μιας γραμμής, θα αποθηκευτεί στον προεπιλεγμένο καταχωρητή που ονομάζεται καταχωρητής χωρίς όνομα ('') . Για να αποθηκεύσετε την αντιγραμμένη γραμμή σε ένα συγκεκριμένο μητρώο, το απόσπασμα (') ακολουθούμενο από το όνομα μητρώου και τον τελεστή.

'

Για παράδειγμα, για να αντιγράψετε μια γραμμή σε ένα όνομα μητρώου Με χρήση ' zyy . Ομοίως, εάν έχετε επιλέξει πολλές γραμμές στη λειτουργία VISUAL, χρησιμοποιήστε το ' zy για να αποθηκεύσετε τις γραμμές στον καταχωρητή z.

Πρόσβαση στο Μητρώο
Για πρόσβαση στο μητρώο Vim, το απόσπασμα (') Το σύμβολο χρησιμοποιείται με το όνομα μητρώου και p/P χειριστής.

'σελ

Για παράδειγμα, εάν το όνομα μητρώου είναι z και για πρόσβαση στο περιεχόμενο αυτού του μητρώου, χρησιμοποιήστε το ' zp στην ΚΑΝΟΝΙΚΗ λειτουργία. Ωστόσο, για να εκτελέσετε την ίδια λειτουργία στη λειτουργία INSERT, χρησιμοποιήστε το ctrl+r z .

' ΚΑΝΟΝΙΚΗ Λειτουργία Για να αποθηκεύσετε το περιεχόμενο χρησιμοποιήστε την προσφορά (') , όνομα μητρώου (a-z) και τελεστής (y, εε, η, γ ή cc)
«σελ ΚΑΝΟΝΙΚΗ Λειτουργία Για να επικολλήσετε το περιεχόμενο ενός καταχωρητή χρησιμοποιήστε την προσφορά (') , όνομα μητρώου (a-z) και p/P χειριστής
ctrl+r Λειτουργία INSERT Για να επικολλήσετε το περιεχόμενο ενός μητρώου, χρησιμοποιήστε το ctrl+r και όνομα μητρώου (a-z)

Έχετε τη βασική ιδέα των καταχωρητών Vim. Τώρα, θα προχωρήσω σε μια εις βάθος συζήτηση για κάθε τύπο καταχωρητή και τη χρήση του.

Τύποι καταχωρητών Vim

Στο Vim, υπάρχουν 10 τύποι καταχωρητών, σχεδιασμένοι για συγκεκριμένους σκοπούς.

  1. Μητρώο χωρίς όνομα ('')
  2. Αριθμημένα Μητρώα (0-9)
  3. Μικρή Διαγραφή Μητρώου ('-)
  4. Επώνυμα Μητρώα (a-z ή A-Z)
  5. Εγγραφές μόνο για ανάγνωση (':, '., '%)
  6. Εναλλακτικό μητρώο αρχείων ('#)
  7. Μητρώο εκφράσεων (“=)
  8. Μητρώα επιλογής και απόθεσης ('*, '+, +~)
  9. Εγγραφή Μαύρης Τρύπας ('_)
  10. Εγγραφή μοτίβου τελευταίας αναζήτησης (“/)

1. Μητρώο χωρίς όνομα ('')

Είναι ο προεπιλεγμένος καταχωρητής του Vim για την αποθήκευση σπασμένου ή διαγραμμένου κειμένου χρησιμοποιώντας y, εε, η, ηη, η, ή Χ εντολές.

ο :reg '' Η εντολή μπορεί να χρησιμοποιηθεί για τη λίστα του περιεχομένου που είναι αποθηκευμένο στον μη κατονομαζόμενο καταχωρητή.

Για να επικολλήσετε το περιεχόμενο καταχωρητή χωρίς όνομα, χρησιμοποιήστε την εντολή put (p ή P) εντολή. Από προεπιλογή, το Π Η εντολή τοποθετεί τις αποθήκες περιεχομένου στον καταχωρητή χωρίς όνομα. Εναλλακτικά, τα δεδομένα που είναι αποθηκευμένα στον καταχωρητή χωρίς όνομα μπορούν επίσης να επικολληθούν χρησιμοποιώντας την εντολή ''p.

Στο παρακάτω παράδειγμα, έχω αντιγράψει μια γραμμή χρησιμοποιώντας εεε εντολή και μετά βάλτε το 5 φορές χρησιμοποιώντας το μέτρημα 5 με το p (5p).

2. Αριθμημένα μητρώα (0-9)

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

Το μητρώο 0 διαφέρει από τα μητρώα 1-9 . Το μητρώο 0 θα αποθηκεύει πάντα το τελευταίο κείμενο. Για παράδειγμα, αν τραβήξω μια γραμμή χρησιμοποιώντας εεε εντολή, η γραμμή θα αποθηκευτεί και στα δύο ανώνυμος και το 0 μητρώα.

Τώρα, αν διαγράψω μια γραμμή χρησιμοποιώντας δδ , η διαγραμμένη γραμμή θα αποθηκευτεί στον μη κατονομαζόμενο μητρώο και καταχωρητή 1 ενώ το τελευταίο κείμενο θα παραμείνει καταχωρημένο 0 . Έτσι, το τελευταίο κείμενο που κυκλοφόρησε μπορεί να είναι προσβάσιμο ανά πάσα στιγμή μέσω της εγγραφής 0 .

Τα μητρώα 1-9 αποθήκευση του τελευταίου διαγραμμένου κειμένου. Για παράδειγμα, εάν διαγράψω μια γραμμή χρησιμοποιώντας το δδ εντολή, το διαγραμμένο κείμενο θα αποθηκευτεί τόσο στο unnamed όσο και στο register 1 . Ο καταχωρητής 1 θα αποθηκεύσει το πιο πρόσφατο διαγραμμένο κείμενο. Εάν διαγράψω άλλη γραμμή, το κείμενο που διαγράφηκε προηγουμένως θα μετακινηθεί για εγγραφή 2 , και το πιο πρόσφατο θα αποθηκευτεί στο μη όνομα και θα εγγραφεί 1 . Ουσιαστικά, τα αριθμημένα μητρώα (1-9) αποθήκευση του ιστορικού του διαγραμμένου κειμένου.

Ας κατανοήσουμε τον αριθμημένο μητρώο με ένα παράδειγμα. Το ακόλουθο αρχείο κειμένου Vim αποτελείται από 10 γραμμές. ας τραβήξουμε το γραμμή 3 χρησιμοποιώντας εεε εντολή. Τώρα, ας ελέγξουμε την κατάσταση των καταχωρητών χρησιμοποιώντας την εντολή :reg.

Η σπασμένη γραμμή βρίσκεται αυτήν τη στιγμή στο ανώνυμος και 0 μητρώα. Τώρα, ας διαγράψουμε όλες τις γραμμές μία προς μία χρησιμοποιώντας το δδ εντολή. Λοιπόν, τελευταίο γραμμή 10 θα είναι στον μη κατονομαζόμενο μητρώο και καταχωρητή 1. Ταυτόχρονα, άλλες διαγραμμένες γραμμές θα αποθηκευτούν σε καταχωρητές 2-9 με αύξουσα σειρά.

Αυτές οι γραμμές είναι προσβάσιμες χρησιμοποιώντας το Π εντολή. Για παράδειγμα, για να βάλετε το κείμενο του μητρώου 9 χρήση «9σ . Επιπλέον, αν θέλετε να βάλετε την τιμή του μητρώου 9 5 φορές, χρήση «95p .

3. Μικρή Διαγραφή Μητρώου ('-)

Αυτός ο καταχωρητής αποθηκεύει το διαγραμμένο κείμενο εάν είναι μικρότερο από μια γραμμή, χρησιμοποιώντας εντολές όπως x, daw, diw, dab, και πάλι . Επιπλέον, εάν διαγράψετε κάποιο κείμενο χρησιμοποιώντας ΟΠΤΙΚΟΣ λειτουργία επιλογής, και αν είναι μικρότερη από μια γραμμή, τότε θα αποθηκευτεί στον μικρό καταχωρητή διαγραφής. Στο Vim, μια γραμμή σημαίνει μια πλήρη πρόταση που τελειώνει με τελεία.

Για παράδειγμα, στο παρακάτω αρχείο επέλεξα 3 λέξεις συνεργασία και υποστήριξη από τη γραμμή αριθμό 9 και τα διέγραψε χρησιμοποιώντας το ρε χειριστής. Ο μικρός καταχωρητής διαγραφής θα χρησιμοποιηθεί για την αποθήκευση αυτής της επιλογής, καθώς δεν είναι μεγαλύτερη από μια γραμμή. Χρησιμοποιήστε το :reg '- εντολή για τη λίστα του περιεχομένου του μικρού καταχωρητή διαγραφής.

4. Επώνυμα Μητρώα (a-z ή A-Z)

Οι καταχωρητές με όνομα χρησιμοποιούνται για την αποθήκευση κειμένου για συγκεκριμένο χρήστη. Έτσι, εάν θέλετε να αποθηκεύσετε κείμενο σε ένα προσαρμοσμένο μητρώο, τότε 26 εγγραφές από ένα προς την Με μπορεί να χρησιμοποιηθεί.

Για παράδειγμα, τραβώ μια γραμμή στο παρακάτω αρχείο χρησιμοποιώντας το ' zyy , το κείμενο θα αποθηκευτεί στο Με εγγραφείτε όπως φαίνεται στην παρακάτω εικόνα.

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

Ας το κατανοήσουμε μέσα από ένα παράδειγμα. Από το παρακάτω αρχείο, αποθήκευσα τη γραμμή 8 στο μητρώο Χ χρησιμοποιώντας ' xyy .

Για να προσθέσω κείμενο μετά από αυτήν τη γραμμή, θα επιλέξω πρώτα μερικές λέξεις στη λειτουργία ΟΠΤΙΚΗ. Για να προσθέσω το επιλεγμένο κείμενο, θα χρησιμοποιήσω το «Ξυ εντολή.

Για να αντικαταστήσω το κείμενο, θα χρησιμοποιήσω ξανά το ' xyy .

5. Μητρώα μόνο για ανάγνωση (., %, 🙂

Το Vim έχει 3 καταχωρητές μόνο για ανάγνωση που αποθηκεύουν τα εισαγόμενα κείμενο, όνομα αρχείου, και τελευταία εκτελέστηκε εντολή.

. Αποθηκεύει το κείμενο που εισήχθη τελευταία
% Αποθηκεύει το όνομα του αρχείου
: Αποθηκεύει την τελευταία εκτελεσθείσα εντολή

Αυτά τα μητρώα όπως προτείνεται από το όνομα δεν μπορούν να τροποποιηθούν, ωστόσο, είναι εύκολα προσβάσιμα.

Για να τοποθετήσετε το κείμενο που εισήχθη τελευταία, χρησιμοποιήστε το '.Π εντολή.

Για να εκτυπώσετε το όνομα του αρχείου, χρησιμοποιήστε το '%Π εντολή.

Για να εκτυπώσετε την τελευταία εντολή, χρησιμοποιήστε το ':Π.

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

6. Εναλλακτικός καταχωρητής buffer ('#)

Το εναλλακτικό buffer είναι ένα αρχείο που ανοίγει στην τρέχουσα προσωρινή μνήμη. Ο καταχωρητής «# αποθηκεύει το όνομα αρχείου του αρχείου που έχει αποθηκευτεί στην προσωρινή μνήμη στην τρέχουσα προσωρινή μνήμη. Ας ανοίξουμε ένα άλλο αρχείο στο ίδιο buffer χρησιμοποιώντας το :e ~/.vimrc εντολή, σημειώστε ότι το τρέχον όνομα αρχείου είναι file.txt .

Για να κλείσετε το ανοιχτό buffer, χρησιμοποιήστε το :bdelete ή :bwipeout εντολή. Τώρα, μπορείτε να δείτε το εναλλακτικό όνομα αρχείου που είναι αποθηκευμένο στο '# κανω ΕΓΓΡΑΦΗ.

7. Μητρώο εκφράσεων (“=)

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

Αυτό το μητρώο μπορεί να προσπελαστεί χρησιμοποιώντας «= στην ΚΑΝΟΝΙΚΗ λειτουργία και ctrl+r = στη λειτουργία INSERT.

Για παράδειγμα, για να βρείτε τη διαφορά μεταξύ δύο αριθμών, πατήστε «= και το σύμβολο ίσον θα εμφανιστεί στη γραμμή κατάστασης. τώρα πληκτρολογήστε και τους δύο αριθμούς με το σύμβολο μείον (-) και πατήστε το Εισαγω κλειδί. Τώρα, για να εκτυπώσετε τη διαφορά, πατήστε Π ή χρησιμοποιήστε το :βάζω εντολή.

Για πρόσβαση στην τιμή του καταχωρητή έκφρασης, χρησιμοποιήστε το :reg “= εντολή.

Ομοίως, για να λάβετε την απόλυτη τιμή δύο αριθμών, χρησιμοποιήστε το =abs(τιμή1-τιμή2) έκφραση.

Με τον ίδιο τρόπο, για την αποθήκευση της εξόδου της εντολής συστήματος, μπορεί να χρησιμοποιηθεί αυτός ο καταχωρητής (έκφρασης). Για παράδειγμα, αν θέλω να διαβάσω το περιεχόμενο του αρχείου που θα χρησιμοποιήσω =system('cat <όνομα αρχείου>') , με το πάτημα του πλήκτρου Return θα αποθηκευτεί το περιεχόμενο της εξόδου. Χρησιμοποιώντας την Π ή :βάζω εντολή, το περιεχόμενο της εξόδου μπορεί να τοποθετηθεί στο buffer.

Υπάρχει μια σειρά από εκφράσεις που μπορούν να χρησιμοποιηθούν στο Vim. Για να μάθετε περισσότερα σχετικά με τις εκφράσεις Vim, χρησιμοποιήστε :βοήθεια έκφραση και :help έκφραση-σύνταξη εντολές.

8. Μητρώοι επιλογής και απόθεσης ('*, '+, '~)

Το Vim έχει δύο καταχωρητές επιλογής '* (quotestar) και «+ (quoteplus) που χρησιμοποιούνται για την αποθήκευση του κειμένου από το GUI. Αυτά τα μητρώα χρησιμοποιούνται για την αντιγραφή κειμένου από εξωτερικά προγράμματα, όπως προγράμματα περιήγησης ή οποιονδήποτε άλλο επεξεργαστή κειμένου.

Για παράδειγμα, εάν αντιγράψετε μια επιλογή κειμένου από ένα πρόγραμμα περιήγησης, χρησιμοποιώντας ctrl+c ή cmd+c θα αποθηκευτεί στο '* κανω ΕΓΓΡΑΦΗ. Ωστόσο, δεν μπορείτε να χρησιμοποιήσετε Π ή :βάζω για να επικολλήσετε αυτό το κείμενο στον επεξεργαστή Vim. Χρήση '*Π για να τοποθετήσετε το κείμενο στον επεξεργαστή Vim που αντιγράφεται από εξωτερικές εφαρμογές.

Είναι σημαντικό να σημειωθεί ότι και τα δύο «+ και '* Οι καταχωρητές συνδέονται στο πρόχειρο, επομένως και τα δύο ('*p, '+p) μπορεί να χρησιμοποιηθεί για την επικόλληση του κειμένου στον επεξεργαστή Vim. Ομοίως, για να βάλετε κείμενο από το Vim, χρησιμοποιήστε «*εεε για να τραβήξετε μια γραμμή και στη συνέχεια να την επικολλήσετε σε οποιαδήποτε εφαρμογή GUI, χρησιμοποιήστε ctrl+v ή cmd+v.

Είναι σημαντικό να σημειωθεί ότι εάν και οι δύο καταχωρίσεις (* & +) κάνουν το ίδιο πράγμα, τότε ποιο είναι το νόημα; Το Vim έχει δύο καταχωρητές επιλογής '*, '+ κάνει την ίδια δουλειά και αυτό οφείλεται στο σύστημα παραθύρων X11. Το X11 παρέχει δύο μεθόδους αποθήκευσης του κειμένου, η μία είναι επιλογές και το άλλο είναι cut-buffers . Οι επιλογές ανήκουν στην εφαρμογή και χάνονται με το κλείσιμο της εφαρμογής, ενώ τα cut buffer διατηρούν το κείμενο αποθηκευμένο στον X-server. Για αυτούς τους δύο τύπους αποθήκευσης, χρησιμοποιούνται οι καταχωρητές «* και «+. Για να μάθετε περισσότερα σχετικά με αυτό, χρησιμοποιήστε :help x11-επιλογή εντολή.

Στη συνέχεια, το drop register “~ που χρησιμοποιείται για την αποθήκευση του κειμένου από την τελευταία λειτουργία μεταφοράς και απόθεσης. Για παράδειγμα, εάν αποθέσετε μια επιλογή κειμένου από μια εξωτερική εφαρμογή, θα αποθηκευτεί στον καταχωρητή πτώσης.

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

Σημείωση : Ο καταχωρητής πτώσης (~) θα είναι διαθέσιμος μόνο εάν το Vim έχει μεταγλωττιστεί με +dnd. Προς το παρόν, είναι διαθέσιμο μόνο για GTK GUI.

9. Εγγραφή Μαύρης Τρύπας ('_)

Εάν εκτελέσετε μια λειτουργία αντιγραφής ή διαγραφής στο πρόγραμμα επεξεργασίας Vim, από προεπιλογή αποθηκεύει το κείμενο στα μητρώα. Εάν θέλετε να διαγράψετε το κείμενο χωρίς να το αποθηκεύσετε σε μητρώο, χρησιμοποιήστε τον καταχωρητή μαύρης τρύπας. Αυτός ο καταχωρητής δεν θα τροποποιήσει τον μη κατονομαζόμενο καταχωρητή (“”) κατά τη διαγραφή κειμένου.

Για παράδειγμα, εάν θέλω να διαγράψω όλες τις γραμμές χωρίς να τις αποθηκεύσω στον καταχωρητή χωρίς όνομα, τότε θα επιλέξω πρώτα όλες τις γραμμές χρησιμοποιώντας ggVG και μετά πατήστε '_ρε πλήκτρα για να διαγράψετε όλες τις γραμμές. Ομοίως, για να διαγράψετε μια μεμονωμένη γραμμή σε μια μαύρη τρύπα, χρησιμοποιήστε «_ηη .

10. Εγγραφή μοτίβου τελευταίας αναζήτησης (“/)

Όπως υποδηλώνει το όνομα, αυτός ο καταχωρητής αποθηκεύει το τελευταίο μοτίβο αναζήτησης χρησιμοποιώντας το / ή ? χειριστές. Για παράδειγμα, αν κάνετε αναζήτηση /Linux , στη συνέχεια χρησιμοποιώντας '/Π θα επικολλήσει τη λέξη Linux.

Το Vim χρησιμοποιεί αυτό το μητρώο για πλοήγηση με το n και Ν πλήκτρα μετά την αναζήτηση.

Είναι ένας εγγράψιμος καταχωρητής, το περιεχόμενό του μπορεί να αλλάξει χρησιμοποιώντας το :let. Για παράδειγμα, για να αποθηκεύσετε το Linux σε αυτό το μητρώο, χρησιμοποιήστε το :let @/='Linux'.

Μητρώα και Μακροεντολές

Στο Vim, οι μακροεντολές αποθηκεύονται επίσης στους καταχωρητές με όνομα (a-z). Εάν δεν γνωρίζετε τις μακροεντολές, τότε οι μακροεντολές είναι εντολές που αποθηκεύονται σε έναν καταχωρητή. Αυτό το σύνολο εντολών μπορεί να εκτελεστεί χρησιμοποιώντας απλώς το σύμβολο @ ακολουθούμενο από το όνομα του καταχωρητή μακροεντολών. Ουσιαστικά, οι μακροεντολές εξαλείφουν την ανάγκη επανειλημμένης πληκτρολόγησης πολλαπλών εντολών.

Για παράδειγμα, για να αποθηκεύσετε μια μακροεντολή σε έναν καταχωρητή Μ , Θα χρησιμοποιήσω qmq . Θέλω να μετακομίσω στο 5 γραμμές κάτω χρησιμοποιώντας 5j και διαγράψτε τη γραμμή χρησιμοποιώντας δδ . Χρήση, qm για να ξεκινήσετε την εγγραφή μακροεντολών και, στη συνέχεια, πατήστε 5j και δδ . Τώρα, για να τερματίσετε την εγγραφή μακροεντολών, πατήστε q . Για να επαληθεύσετε εάν η μακροεντολή είναι αποθηκευμένη ή όχι, :reg “m ή :reg m.

Για να εκτελέσετε αυτές τις εντολές με έναν καταχωρητή μακροεντολής, χρησιμοποιήστε το :@Μ εντολή.

Εκκαθάριση Μητρώου

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

1. Εγγράψτε μια κενή μακροεντολή για να διαγράψετε έναν καταχωρητή. Για παράδειγμα, για να διαγράψετε τον καταχωρητή m, χρησιμοποιήστε qmq .

2. Ορίστε κενό κείμενο χρησιμοποιώντας το αφήνω . Για παράδειγμα, για να διαγράψετε τον καταχωρητή m, χρησιμοποιήστε :ας @m=”.

3. Χρησιμοποιήστε το setreg() συνάρτηση με κενή συμβολοσειρά ως όρισμα. Για παράδειγμα, για να διαγράψετε την εγγραφή m χρησιμοποιήστε :call setreg('m', ').

συμπέρασμα

Υπάρχουν 10 διαφορετικοί καταχωρητές με διαφορετικές λειτουργίες, γεγονός που καθιστά σχεδόν αδύνατο να θυμάστε. Εάν είστε αρχάριος, τότε θα συνιστούσα να έχετε κατά νου μόνο τρεις καταχωρητές, μη κατονομαζόμενο μητρώο ('') , αριθμημένα μητρώα (0-9) , και επώνυμα μητρώα (a-z) .

Για να αποθηκεύσετε κείμενο σε ένα μητρώο, χρησιμοποιήστε ένα απόσπασμα (') υπογράψετε με το όνομα μητρώου ακολουθούμενο από μια εντολή χειριστή (y, d, c) . Για να επικολλήσετε το κείμενο από έναν καταχωρητή, χρησιμοποιήστε εντολές p ή P που προηγούνται από εισαγωγικά (') και όνομα μητρώου.

Πρέπει να το έχετε ακούσει, αν κάνετε μια εργασία περισσότερες από δύο φορές, τότε αυτοματοποιήστε την. Οι καταχωρίσεις Vim μπορούν να είναι εξαιρετικά χρήσιμες για την αυτοματοποίηση των εργασιών και τελικά τη βελτίωση της εμπειρίας. Για να μάθετε περισσότερα σχετικά με τους καταχωρητές Vim, χρησιμοποιήστε το :help εγγραφές εντολή.