Οδηγός για το Vim Marks

Odegos Gia To Vim Marks



Τα σημάδια Vim είναι συγκεκριμένες θέσεις σε ένα αρχείο που μπορούν να οριστούν με ένα όνομα και αργότερα να επιστραφούν καλώντας τα με το όνομά τους. Το γράμμα Μ ακολουθούμενο από ένα άλλο γράμμα {a-z ή A-Z} μπορεί να χρησιμοποιηθεί για να ορίσετε το σημάδι και a ενιαίο απόσπασμα ) ') με το όνομα του σήματος χρησιμοποιείται για να επιστρέψετε σε αυτό το σήμα. Σημειώστε ότι, το πεζά Τα γράμματα χρησιμοποιούνται για τον καθορισμό τοπικά σήματα ενώ το κεφαλαίο Τα γράμματα χρησιμοποιούνται για τη ρύθμιση του παγκόσμια σήματα .

Κατανόηση του Vim Marks

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







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



Σημείωση: Χρησιμοποιώ διανομή Linux (Ubuntu 22.04) και Vim έκδοση 8.2 για τις οδηγίες σε αυτόν τον οδηγό.



Ορίστε ένα σημάδι

Για να ορίσετε το σημάδι στο Vim, κρατήστε τον κέρσορα στο σημείο που θέλετε να ορίσετε το σημάδι και πατήστε το Μ κλειδί , ακολουθούμενη από οποιαδήποτε επιστολή από ένα προς την Με . Για παράδειγμα, αν θέλω να βάλω ένα σημάδι με το όνομα του γράμματος Με τότε θα πληκτρολογήσω mz στην ΚΑΝΟΝΙΚΗ λειτουργία.





mz

Υπάρχουν πολλοί τρόποι για να ορίσετε ένα σημάδι στο Vim, αυτή η διαδικασία είναι η πιο γρήγορη.

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



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

: σειρά showcmd

Μπορείτε επίσης να χρησιμοποιήσετε το σημάδι ή το Σημάδι εντολές για να ορίσετε το σημάδι. Για παράδειγμα, το Με Το σημάδι μπορεί επίσης να οριστεί χρησιμοποιώντας την παρακάτω εντολή:

: σημάδι z

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

Σημειώστε ότι τα κεφαλαία γράμματα {A-Z} μπορούν επίσης να χρησιμοποιηθούν για να ορίσετε ένα σημάδι. Τα σημάδια με τα κεφαλαία γράμματα είναι παγκόσμια σήματα και βάσει αρχείων. Θα συζητήσω διεξοδικά τα παγκόσμια σήματα σε ξεχωριστή ενότητα.

Σημεία λίστας

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

χρησιμοποιώντας την :σημάδια εντολή.

: σημάδια

Στην παραπάνω εικόνα εξόδου, παρατίθενται όλα τα σημάδια. μερικά είναι προσαρμοσμένα και άλλα είναι προεπιλεγμένα.

Υπάρχουν και κάποιες άλλες μέθοδοι για να απαριθμήσετε τα σημάδια. Για να παραθέσετε ένα συγκεκριμένο σήμα, χρησιμοποιήστε το :σημάδια εντολή με το όνομα του σήματος. Για παράδειγμα, για να παραθέσετε το σήμα Με, Χρησιμοποιήστε το :marks <όνομα σήμανσης> εντολή:

: σημειώνει z

Ομοίως, για να παραθέσετε πολλά σημάδια, χρησιμοποιήστε το :σημάδια <σημειώστε ονόματα> :

: σημειώνει abz

Οπου ένα , σι, και Με είναι διαφορετικά ονόματα σημάτων.

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

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

Κατά την εγκατάσταση του πρόσθετου, ορίστε το σημάδι και το πρόσθετο θα το εμφανίσει ρητά με το όνομα όπως φαίνεται στην παρακάτω εικόνα.

Μετάβαση σε ένα σημάδι

Αφού ορίσετε το σημάδι, το επόμενο βήμα είναι η πλοήγηση στα σημάδια. Για να μεταβείτε στην αρχή της σημειωμένης γραμμής στην τρέχουσα προσωρινή μνήμη, πατήστε το ενιαίο εισαγωγικό (') με το σήμα όνομα {a-z}.

'Με

Για να μεταβείτε στην ακριβή τοποθεσία (γραμμή/στήλη) πατήστε το backtick (`) με το σήμα όνομα {a-z}.

Το single (‘) και το backtick (`) μπορούν επίσης να χρησιμοποιηθούν για να μεταπηδήσουν τα καθολικά σημάδια {A-Z}.

Ένας πίνακας πλοήγησης στα πεζά σημάδια αναφέρεται παρακάτω:

'' Μεταβείτε στη γραμμή από όπου πηδήξατε
' Πηδήξτε πίσω στη θέση από όπου πηδήξατε
' . /`. Για μετάβαση στην τελευταία επεξεργασμένη γραμμή / θέση
`[\`] Για να μεταβείτε στην αρχή / το τέλος του τελευταίου σπασμένου κειμένου
`<\`> Για να μεταβείτε στην αρχή / το τέλος της τελευταίας οπτικής επιλογής
[μετρώ]] ' Για να μεταβείτε στην επόμενη γραμμή του [count] του αριθμού των σημαδιών από την τρέχουσα θέση του δρομέα
[count]]». Για να μεταπηδήσετε [μετρήστε] τον αριθμό των σημείων από την τρέχουσα θέση του δρομέα

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

Η συζήτηση για τα σήματα Vim είναι ελλιπής αν δεν το συζητήσουμε άλματα και jumplist . ο jumplist αποθηκεύει τα άλματα που γίνονται μέσα στο αρχείο ή στα αρχεία, είτε είναι σημάδια είτε κανονικά προεπιλεγμένα άλματα Vim.

Για να απαριθμήσετε όλα τα άλματα, χρησιμοποιήστε :άλματα εντολή και για να διαγράψετε όλα τα άλματα, χρησιμοποιήστε το :clearjumps. Για πλοήγηση στα άλματα, χρησιμοποιήστε ctrl+o και ctrl+i κλειδιά.

Σημείωση: Πριν διαγράψετε τα άλματα, να έχετε υπόψη σας ότι η διαγραφή των αλμάτων μπορεί να επηρεάσει το ιστορικό πλοήγησης.

Θεωρώ ότι η χρήση άλματος είναι πιο βολική για να μετακινηθείτε μέσα από τα σημάδια. Πρώτον, καθαρίζω όλα τα άλματα γιατί αν δεν το κάνω αυτό, μπορεί να καταλήξω σε άλλα αρχεία. Στη συνέχεια καταχωρίζω άλματα σήμανσης στο jumplist αρχείο χρησιμοποιώντας το μεμονωμένο εισαγωγικό ή backtick. Μόλις τελειώσω, χρησιμοποιώ το ctrl+o και ctrl+i πλήκτρα για να περάσετε γρήγορα τα σημάδια.

Για περισσότερη βοήθεια σχετικά με την πλοήγηση στα σημάδια, χρησιμοποιήστε το :σημάδια βοήθειας και :help jumplist εντολές.

Παγκόσμια σήματα

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

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

Για να ορίσετε το καθολικό σήμα, χρησιμοποιήστε την εντολή σήμανσης Μ ακολουθούμενο από ένα κεφαλαίο γράμμα {A-Z}.

mZ

Τώρα, μπορείτε να αποκτήσετε πρόσβαση σε αυτό το σήμα από οποιοδήποτε αρχείο. Για να μεταβείτε στο καθολικό σήμα, χρησιμοποιήστε την ίδια διαδικασία που αναφέρεται στο Μετάβαση σε ένα σημάδι Ενότητα. Το αρχείο που περιέχει το σήμα θα ανοίξει, κλείνοντας το τρέχον.

'ΜΕ

Ομοίως, για να μεταβείτε στην ακριβή τοποθεσία, χρησιμοποιήστε backtick με το όνομα του σήματος (`Z).

Αριθμημένα σημάδια

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

Μπορείτε να παραθέσετε τα αριθμημένα σημάδια χρησιμοποιώντας το :σημάδια εντολή.

Για περισσότερες πληροφορίες σχετικά με τα αριθμημένα σημάδια Vim, χρησιμοποιήστε το :help viminfo-file-marks εντολή.

Διαγραφή σημάτων

Υπάρχουν διάφορες μέθοδοι για να διαγράψετε όλα τα σημάδια, συγκεκριμένα σημάδια ή μια σειρά από σημάδια.

Για να διαγράψετε σημάδια, το :delmarks ή :delm μπορούν να χρησιμοποιηθούν εντολές.

:delmarks z Για να διαγράψετε ένα συγκεκριμένο σήμα, π.χ. Με
:delmarks x-z Για να διαγράψετε σημάδια από Χ προς την Με τέτοια ώστε η διαγραφή Χ , και , και Με
:delmarks abxy To delete ένα , σι , Χ, και και σημάδια
:delmarks zZ To delete Με και ΜΕ σημάδια

Για να διαγράψετε όλα τα πεζά σημάδια {a-z}, χρησιμοποιήστε το :delmarks! εντολή. Για να διαγράψετε κεφαλαία και αριθμητικά σημάδια, πρέπει να χρησιμοποιήσετε :delmarks A-Z και :delmarks 0-9 εντολές. Εάν θέλετε να διαγράψετε τα κεφαλαία σημάδια {A-Z}, χρησιμοποιήστε το :delmarks A-Z . Τα αριθμημένα σημάδια μπορούν επίσης να διαγραφούν χρησιμοποιώντας την ίδια εντολή.

Προηγμένες δυνατότητες

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

Στον παρακάτω πίνακα, το Με χρησιμοποιείται ως όνομα σήματος.

ρε ' z / d`z Διαγραφή από την τρέχουσα γραμμή στην επόμενη σημειωμένη γραμμή / Διαγραφή από την τρέχουσα θέση μέχρι την επόμενη ακριβή σημειωμένη θέση
ντο ' z / c`z Αλλαγή κειμένου από την τρέχουσα γραμμή στην επόμενη σημειωμένη γραμμή / Αλλαγή κειμένου από την τρέχουσα θέση στην επόμενη ακριβή σημειωμένη θέση
και ' z / y`z Αντιγραφή κειμένου (yank) από την τρέχουσα γραμμή στην επόμενη σημειωμένη γραμμή / Αντιγραφή κειμένου από την τρέχουσα θέση μέχρι την επόμενη ακριβή σημειωμένη θέση

Εάν θέλετε να εκτελέσετε ένα γραμμικά λειτουργία, τότε καλέστε το σημάδι χρησιμοποιώντας το μονό εισαγωγικό (‘) και αν θέλετε να εκτελέσετε ένα κατά χαρακτήρα λειτουργία, χρησιμοποιήστε το backtick (`).

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

: 'Χ,' και < δ, γ ή y >

Για παράδειγμα, εάν θέλετε να διαγράψετε όλες τις γραμμές από το σημάδι να υπογραμμίσω 'και Χρησιμοποιήστε το : ' Χ, ' y d εντολή.

Δείτε το παρακάτω αρχείο με σημάδια σι και ντο .

Για να αφαιρέσετε όλες τις γραμμές από το σημάδι σι στο ντο (συμπεριλαμβανομένων), εκτελέστε την εντολή που δίνεται παρακάτω:

: 'σι,' γ δ

Διαφορά μεταξύ πεζών και κεφαλαίων σημάτων

Τόσο τα πεζά όσο και τα κεφαλαία σημάδια έχουν ξεχωριστές λειτουργίες.

Τα πεζά σημάδια χρησιμοποιούνται μέσα στα αρχεία και μπορούν να οριστούν από αλφάβητο ένα στο αλφάβητο Με σε οποιοδήποτε αρχείο. Είναι μοναδικά για τα αρχεία στα οποία έχουν δημιουργηθεί. Είναι δυνατή η πρόσβαση και η διαχείριση τους μέσα στα αρχεία όπου δημιουργούνται. Από την άλλη πλευρά, τα κεφαλαία σημάδια {A-Z} είναι καθολικά και δεν μπορούν να οριστούν με το ίδιο όνομα. Αυτά τα σημάδια είναι προσβάσιμα από οποιοδήποτε αρχείο χρησιμοποιώντας την απόστροφο (‘) ή το backtick (').

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

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

Φύλλο εξαπάτησης Vim Marks

Οι βασικές λειτουργίες που χρειάζεστε για να χρησιμοποιήσετε τη λειτουργία σημάτων στο πρόγραμμα επεξεργασίας Vim αναφέρονται στην παρακάτω εικόνα.

συμπέρασμα

Τα σημάδια στο πρόγραμμα επεξεργασίας Vim είναι προσαρμοσμένες θέσεις για πλοήγηση σε ένα αρχείο με εκατοντάδες γραμμές. Υπάρχουν δύο είδη σημάτων, τα κεφαλαία και τα πεζά σημάδια. Τα πεζά σημάδια είναι χρήσιμα για την πλοήγηση μέσα στο αρχείο. Για την πλοήγηση στα αρχεία, χρησιμοποιούνται κεφαλαία σημάδια. Για να ορίσετε το σημάδι, το γράμμα Μ χρησιμοποιείται με άλλο πεζό ή κεφαλαίο γράμμα {a-z, A-Z}. Τα σημάδια οποιουδήποτε αρχείου μπορούν να παρατίθενται χρησιμοποιώντας το :σημάδια εντολή. Για να διαγράψετε ένα σημάδι :delmarks ή :delm χρησιμοποιούνται εντολές με το όνομα του σήματος.