8 ενδιαφέρουσες συμβουλές και κόλπα επεξεργασίας «Vi/Vim» για κάθε διαχειριστή Linux - Μέρος 2


Στο προηγούμενο άρθρο αυτής της σειράς εξετάσαμε 7 συμβουλές και κόλπα για να προσθέσετε στο σετ δεξιοτήτων vi/m. Εκτός από τους λόγους που αναφέρθηκαν προηγουμένως, η εκμάθηση πώς να χρησιμοποιεί αποτελεσματικά ένα πρόγραμμα επεξεργασίας κειμένου στο Linux ως απαραίτητη ικανότητα για έναν διαχειριστή συστήματος ή μηχανικό και είναι απαραίτητη ικανότητα για να περάσει οποιοδήποτε σημαντικό πρόγραμμα πιστοποίησης Linux (όπως LFCS, LFCE, RHCSA και RHCE) .

Τούτου λεχθέντος, ας ξεκινήσουμε.

ΣΥΜΒΟΥΛΗ # 8: Δημιουργήστε οριζόντια ή κάθετα παράθυρα

Αυτή η συμβουλή κοινοποιήθηκε από τον Yoander, έναν από τους αναγνώστες μας, στο Μέρος 1. Μπορείτε να εκκινήσετε το vi/m με πολλαπλές οριζόντιες ή κάθετες διαιρέσεις για να επεξεργαστείτε ξεχωριστά αρχεία μέσα στο ίδιο κύριο παράθυρο:

Εκκίνηση vi/m με δύο οριζόντια παράθυρα, με test1 στο επάνω μέρος και test2 στο κάτω μέρος

vim -o test1 test2 

Εκκινήστε το vi/m με δύο κατακόρυφα παράθυρα, με test3 στα αριστερά και test4 στα δεξιά:

vim -O test3 test4 

Μπορείτε να αλλάξετε τον κέρσορα από το ένα παράθυρο στο άλλο με τη συνήθη ρουτίνα κίνησης vi/m (h: δεξιά, l: αριστερά, j: κάτω, k: επάνω):

  1. Ctrl+w k – επάνω
  2. Ctrl+w j – κάτω
  3. Ctrl+w l – αριστερά
  4. Ctrl+w h – δεξιά

ΣΥΜΒΟΥΛΗ #9: Αλλάξτε γράμματα, λέξεις ή ολόκληρες γραμμές σε ΚΕΦΑΛΑΙΑ ή πεζά

Λάβετε υπόψη ότι αυτή η συμβουλή λειτουργεί μόνο στο vim. Στα επόμενα παραδείγματα, ο X είναι ένας ακέραιος αριθμός.

  1. Για να αλλάξετε μια σειρά από γράμματα σε κεφαλαία, τοποθετήστε τον κέρσορα στο πρώτο γράμμα, μετά πληκτρολογήστε gUX σε λειτουργία ex και, τέλος, πατήστε το δεξί βέλος στο πληκτρολόγιο.
  2. Για να αλλάξετε τον αριθμό Χ λέξεων, τοποθετήστε τον κέρσορα στην αρχή της λέξης και πληκτρολογήστε gUXw στη λειτουργία ex.
  3. Για να αλλάξετε μια ολόκληρη γραμμή σε κεφαλαία, τοποθετήστε τον κέρσορα οπουδήποτε στη γραμμή και πληκτρολογήστε gUU σε λειτουργία ex.

Για παράδειγμα, για να μετατρέψετε μια ολόκληρη γραμμή πεζά σε κεφαλαία, θα πρέπει να τοποθετήσετε τον κέρσορα οπουδήποτε στη γραμμή και να πληκτρολογήσετε gUU:

Για παράδειγμα, για να μετατρέψετε 2 κεφαλαία λέξεις σε πεζά, θα πρέπει να τοποθετήσετε τον κέρσορα στην αρχή της πρώτης λέξης και να πληκτρολογήσετε gu2w:

ΣΥΜΒΟΥΛΗ #10: Διαγράψτε χαρακτήρες, λέξεις ή στην αρχή μιας γραμμής στη λειτουργία INSERT

Ενώ μπορείτε να διαγράψετε χαρακτήρες ή πολλές λέξεις ταυτόχρονα στη λειτουργία ex (δηλαδή dw για να διαγράψετε μια λέξη), μπορείτε επίσης να το κάνετε στη λειτουργία Εισαγωγή ως εξής:

  1. Ctrl + h: διαγράψτε τον προηγούμενο χαρακτήρα στο μέρος όπου βρίσκεται αυτήν τη στιγμή ο δρομέας.
  2. Ctrl + w: διαγράψτε την προηγούμενη λέξη στο μέρος όπου βρίσκεται ο δρομέας αυτήν τη στιγμή. Για να λειτουργήσει σωστά, ο κέρσορας πρέπει να τοποθετηθεί σε κενό χώρο μετά τη λέξη που πρέπει να διαγράψετε.
  3. Ctrl + u: διαγράψτε την τρέχουσα γραμμή που ξεκινά από τον χαρακτήρα ακριβώς στα αριστερά του σημείου όπου βρίσκεται ο δρομέας.

ΣΥΜΒΟΥΛΗ #11: Μετακινήστε ή αντιγράψτε υπάρχουσες γραμμές σε άλλη γραμμή του εγγράφου

Αν και είναι αλήθεια ότι μπορείτε να χρησιμοποιήσετε τις γνωστές εντολές dd, yy και p σε λειτουργία ex για διαγραφή, yank (αντιγραφή) και επικόλληση γραμμών, αντίστοιχα, αυτό λειτουργεί μόνο όταν ο δρομέας τοποθετείται στο σημείο που θέλετε να εκτελέσετε αυτές τις λειτουργίες . Τα καλά νέα είναι ότι με τις εντολές αντιγραφή και μετακίνηση μπορείτε να κάνετε το ίδιο ανεξάρτητα από το πού βρίσκεται ο κέρσορας αυτήν τη στιγμή.

Για το επόμενο παράδειγμα θα χρησιμοποιήσουμε ένα σύντομο ποίημα με τίτλο "Για πάντα" από την Terri Nicole Tharrington. Αρχικά, θα έχουμε το vim να εμφανίζει τους αριθμούς γραμμής (:set nu στη λειτουργία Command – θεωρήστε αυτό μια επιπλέον συμβουλή). Θα χρησιμοποιήσουμε το :3copy5 (επίσης σε λειτουργία Command) για να αντιγράψουμε τη γραμμή 3 κάτω από τη γραμμή 5:

Τώρα, αναιρέστε την τελευταία αλλαγή (Esc + u – άλλη μια συμβουλή μπόνους!) και πληκτρολογήστε :1move7 για να αντικαταστήσετε τη γραμμή 7 με τη γραμμή 1. Σημειώστε πώς μετατοπίζονται οι γραμμές 2 έως 7 επάνω και η προηγούμενη γραμμή 1 καταλαμβάνει τώρα τη γραμμή 7:

ΣΥΜΒΟΥΛΗ #12: Μετρήστε τις αντιστοιχίσεις που προκύπτουν από μια αναζήτηση με βάση το μοτίβο και μετακινηθείτε από το ένα περιστατικό στο άλλο

Αυτή η συμβουλή βασίζεται στην εντολή αντικατάστασης (συμβουλή #7 στο Μέρος 1 αυτής της σειράς), με την εξαίρεση ότι δεν θα αφαιρέσει τίποτα, καθώς η συμπεριφορά αντικατάστασης παρακάμπτεται από την επιλογή n, με αποτέλεσμα τον αριθμό των εμφανίσεων του καθορισμένου μοτίβου:

Βεβαιωθείτε ότι δεν παραλείψετε καμία από τις κάθετες προς τα εμπρός!

:%s/pattern//gn 

Για παράδειγμα,

:%s/libero//gn

Για να μετακινηθείτε από τη μία εμφάνιση του μοτίβου στην επόμενη σε λειτουργία ex, πατήστε n (πεζά N). Για να μετακινηθείτε στην προηγούμενη εμφάνιση, πατήστε N.

ΣΥΜΒΟΥΛΗ #13: Ανοίξτε απευθείας το vi/m σε μια καθορισμένη γραμμή

Από προεπιλογή, όταν εκκινείτε το vi/m, ο κέρσορας τοποθετείται αρχικά στην τελευταία γραμμή που επεξεργάστηκε. Εάν θέλετε να ανοίξετε το πρόγραμμα και να τοποθετήσετε τον κέρσορα απευθείας σε μια καθορισμένη γραμμή, μπορείτε να χρησιμοποιήσετε το ακόλουθο κόλπο:

vim filename +line_number

Για παράδειγμα, ανοίξτε το forever.txt και τοποθετήστε τον κέρσορα στη γραμμή 6:

vim forever.txt +6

Ας τροποποιήσουμε λίγο αυτό το παράδειγμα. Ας υποθέσουμε ότι θέλουμε να ανοίξουμε το αρχείο στη γραμμή όπου εμφανίζεται η 3η εμφάνιση του μοτίβου:

vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Ας ρίξουμε μια πιο προσεκτική ματιά στο τι κάνει η παραπάνω εντολή:

  1. grep -in pattern filename – εμφανίζει όλες τις γραμμές από το όνομα αρχείου όπου εμφανίζεται το μοτίβο, με τον αριθμό γραμμής στην αρχή κάθε γραμμής εξόδου.
  2. sed -n 3p – εμφανίζει την 3η γραμμή από την έξοδο του προηγούμενου αγωγού.

Τελικά,

  1. Το cut -d: -f1 επιστρέφει το πρώτο πεδίο της προηγούμενης γραμμής με την άνω και κάτω τελεία (:) να είναι το διαχωριστικό πεδίου.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1

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

ΣΥΜΒΟΥΛΗ #14: Προσαρμογή του περιβάλλοντος vi/m

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

Αν και μπορείτε να το κάνετε αυτό κάθε φορά που εκκινείτε το vi/m, είναι πιο εύκολο να ορίσετε αυτές τις επιλογές στο ~/.vimrc ώστε να εφαρμόζονται αυτόματα:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Για περαιτέρω επιλογές προσαρμογής του περιβάλλοντος vi/m, μπορείτε να ανατρέξετε στην ηλεκτρονική τεκμηρίωση του vim.

ΣΥΜΒΟΥΛΗ #15: Λάβετε Γενική Βοήθεια/Επιλογές Vim με το vimtutor

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

vimtutor

Σημειώστε ότι μπορείτε να πλοηγηθείτε ή να αναζητήσετε τα περιεχόμενα του vimtutor σαν να περιηγείστε σε ένα κανονικό αρχείο σε vi/m.

Περίληψη

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