Anonim

Το vi είναι ένας πολύ γνωστός επεξεργαστής κειμένου που προσανατολίζεται στην οθόνη και πηγαίνει πίσω στις πρώτες ημέρες του Unix. Το πιο εντυπωσιακό χαρακτηριστικό του είναι ότι μπορεί να λειτουργήσει σε δύο ξεχωριστές λειτουργίες.

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

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

Κοπή μιας γραμμής ή ενός μπλοκ

Γρήγοροι σύνδεσμοι

  • Κοπή μιας γραμμής ή ενός μπλοκ
        • Τοποθετήστε το δρομέα σας μπροστά από τη γραμμή κειμένου που θέλετε να καταργήσετε
        • Πατήστε v και ξεκινήστε μια οπτική επιλογή χαρακτήρων
        • Πατήστε V εάν θέλετε να επιλέξετε ολόκληρες γραμμές
        • Πατήστε Ctrl + v ή Ctrl + q εάν θέλετε να επιλέξετε ένα μπλοκ
        • Τοποθετήστε το δρομέα στο τέλος της γραμμής κειμένου
        • Πατήστε d για να κόψετε
  • Επεξεργασία μέσω γραμμής
  • Διαγραφή πολλών γραμμών
  • Χρήση χαρακτήρων, λέξεων και γραμμών σε κανονική λειτουργία
    • dd
    • x / X
    • dw
  • Μια Τελική Σκέψη
  1. Τοποθετήστε το δρομέα σας μπροστά από τη γραμμή κειμένου που θέλετε να καταργήσετε

  2. Πατήστε v και ξεκινήστε μια οπτική επιλογή χαρακτήρων

  3. Πατήστε V εάν θέλετε να επιλέξετε ολόκληρες γραμμές

  4. Πατήστε Ctrl + v ή Ctrl + q εάν θέλετε να επιλέξετε ένα μπλοκ

  5. Τοποθετήστε το δρομέα στο τέλος της γραμμής κειμένου

  6. Πατήστε d για να κόψετε

Αν θέλετε τώρα να επικολλήσετε αυτή τη γραμμή αλλού, απλά μετακινήστε το δρομέα στη νέα θέση και πατήστε p. Σημειώστε ότι το πάτημα του p θα επικολλήσει τη γραμμή ή το μπλοκ μετά τη θέση του δρομέα. Εάν θέλετε να επικολλήσετε πριν από τη θέση του δρομέα, πρέπει να πατήσετε το P.

Επεξεργασία μέσω γραμμής

Μπορείτε επίσης να αλλάξετε το επιλεγμένο κείμενο αν πατήσετε c στο βήμα 6. Πατώντας το d θα κοπεί, πατώντας το y θα τραβήξετε ή θα αντιγράψετε και το c θα ανοίξει τη λειτουργία ένθεσης στην οποία μπορείτε να προσθέσετε νέο κείμενο. Αυτό θα μπορούσε να σας βοηθήσει να αντικαταστήσετε μια ολόκληρη γραμμή ή μπλοκ χωρίς να χρειάζεται να ασχοληθείτε με την κοπή τους πρώτα.

Διαγραφή πολλών γραμμών

Υπάρχουν δύο καλές επιλογές αν θέλετε να διαγράψετε περισσότερες από μία γραμμές στο vi.

“:%d”

Αυτή η εντολή διαγράφει όλες τις γραμμές. Το ':' θέτει vi στη λειτουργία εντολών. Ο χαρακτήρας '%' του λέει να εφαρμόσει την εντολή 'd' (εντολή διαγραφής) σε όλες τις γραμμές.

“:1, $d”

Αυτή είναι η πιο δημοφιλής εναλλακτική λύση. Και πάλι, το ':' εισάγει μια εντολή. '1, $' λέει σε ποιες γραμμές να στοχεύσετε. Σε αυτό το παράδειγμα, θα ήταν οι γραμμές που αρχίζουν με τη γραμμή 1 και την τελευταία. 'd' σημαίνει διαγραφή.

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

Εάν χρησιμοποιήσετε κάτι σαν “:4, $-2d” τότε vi θα διαγράψει όλες τις γραμμές μεταξύ του τρίτου και του δεύτερου τελευταίου. Αφήνει τα πρώτα τρία άθικτα επειδή οι γραμμές αρχίζουν με 1 και όχι 0. Και καθορίζετε την πρώτη γραμμή που θέλετε να διαγράψετε, η οποία σε αυτό το παράδειγμα είναι 4.

Το '-2' αντιπροσωπεύει βασικά πόσες γραμμές αρχίζουν από την τελευταία και μετράνε πίσω στο 1.

Χρήση χαρακτήρων, λέξεων και γραμμών σε κανονική λειτουργία

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

dd

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

x / X

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

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

dw

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

Τοποθετήστε τον κέρσορα στην αριστερή πλευρά του τμήματος που θέλετε να διαγράψετε. Πατήστε dw για να αφαιρέσετε αυτούς τους χαρακτήρες και το χώρο που καταλαμβάνουν στη γραμμή. Λάβετε υπόψη ότι αυτό θα φέρει τους παρακείμενους χαρακτήρες μαζί για να γεμίσει το κενό.

Μια Τελική Σκέψη

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

Πώς να διαγράψετε όλες τις γραμμές στο vi