Nevoia de a învăța cum să utilizați editorii de text în Linux este incontestabilă. Fiecare administrator de sistem și inginer se ocupă zilnic de fișiere de configurare (text simplu) și de cele mai multe ori acest lucru se face doar folosind unul sau mai multe instrumente dintr-o interfață din linia de comandă (cum ar fi nano, vim, sau emacs).
In timp ce nano este poate mai potrivit pentru utilizatorii noi, vim sau emacs sunt instrumentul de alegere pentru utilizatorii mai experimentați datorită capacităților sale avansate.
Dar există încă un alt motiv pentru care învățarea modului de utilizare a unuia dintre editorii de text ar trebui să fie o prioritate majoră pentru dvs.: fie vă puteți confrunta cu un server numai CLI, fie puteți rula într-o problemă cu managerul desktopului pe serverul sau desktop-ul Linux bazat pe GUI și singura resursă care îl examinează și editează fișierele de configurare este comanda linia.
Între acest articol și următorul din această serie de 2 articole, vom analiza
15 sfaturi și trucuri pentru îmbunătățirea vim aptitudini. Se presupune că sunteți deja familiarizat cu acest editor de text. Dacă nu, faceți-vă o favoare și cunoașteți vim înainte de a continua mai departe: poate doriți să vă referiți la Cum se utilizează vi / vim ca editor de text complet pentru un ghid foarte detaliat despre începutul cu vim.Partea 2: 8 Sfaturi și trucuri interesante pentru editorul „Vi / Vim”
După ce lansați vim, apăsați F1 sau folosiți : h în ex pentru a intra în ajutorul online. Puteți sări la o anumită secțiune sau subiect, plasând cursorul pe el și apoi apăsând Ctrl +]
(Ctrl, apoi paranteză pătrată de închidere).
După ce ați terminat, apăsați Ctrl + t
pentru a reveni la ecranul anterior. Alternativ, puteți căuta un anumit subiect sau comandă cu : h
.
De exemplu,
: h x
va afișa ajutorul pentru X(șterge) comanda:
și
: h înlocuitor.
va aduce ajutorul despre substitui comanda (sfatul nostru final din acest articol).
Dacă editați un fișier care este mai mare decât un ecran, veți aprecia funcționalitatea oferită de mărci. Vă puteți gândi la o marcă în vim ca la un semn de carte - odată ce ați plasat-o undeva, puteți reveni la ea rapid și ușor. Să presupunem că editați un 300 de cuvinte fișier de configurare și, dintr-un anumit motiv, trebuie să comutați în mod repetat între linii 30 și 150 de exemplu.
Mai întâi, mergi la coadă #30 prin intrare :30 în ex, apoi reveniți la modul de comandă și apăsați ma (m, apoi A) pentru a crea o marcă numită "A" in linie 30.
Apoi mergeți la linia 250 (cu :250 în modul ex) și apăsați `a
(backtick, atunci A) a reveni la marcare A in linie 30. Puteți utiliza litere mici și majuscule pentru a identifica semnele în vim (repetați acum procesul pentru a crea un semn numit A in linie #250).
Vă puteți vizualiza semnele cu
: marchează aA.
După cum puteți vedea, fiecare semn este menționat de o poziție specifică a liniei / coloanei din fișier, nu doar de linie.
Să presupunem că editați un script shell și vă dați seama că dezvoltatorul anterior a fost destul de urât când vine vorba de indentare. Să vedem cum o puteți remedia cu câteva comenzi vim.
Mai întâi, selectați un bloc vizual plasând cursorul la începutul blocului, apoi apăsând Ctrl + v (Ctrl, apoi v).
Apoi apăsați tasta .
(punct) comanda de a repeta fie indentarea. Blocul selectat se va deplasa fie la dreapta, fie la stânga cu o singură apăsare de tastă.
Un alt exemplu clasic de utilizare a punct comanda este atunci când trebuie să ștergeți o serie de cuvinte: plasați cursorul pe primul cuvânt pe care doriți să îl ștergeți, apoi apăsați dw. Pentru a continua ștergerea următoarelor cuvinte, trebuie doar să apăsați .
(mai scurt și mai ușor decât repetarea dw de cateva ori).
Dacă aspectul tastaturii nu vă permite să introduceți cu ușurință caractere speciale Unicode într-un fișier sau dacă găsiți în fața unui server cu setări de limbă diferite de cea cu care sunteți obișnuit, acest truc va intra la indemana.
Pentru a face acest lucru, apăsați Ctrl + v în modul inserare urmat de literă tu și codul numeric hexazecimal pentru caracterul pe care doriți să îl inserați. Puteți verifica Diagramele Unicode pentru o listă de caractere speciale și codurile lor numerice corespunzătoare.
De exemplu,
Ctrl + v urmat de | se intoarce |
u0040 | @ |
u00B5 | μ |
u20AC | € |
Vor fi momente când va trebui să introduceți ieșirea comenzilor externe direct într-un fișier care este editat cu vim. De exemplu, de multe ori creez o variabilă numită DIR în scripturile mele pentru a stoca calea absolută către directorul în care se află scriptul pentru a-l utiliza mai târziu în script. Pentru a face acest lucru, folosesc:
: r! pwd
în ex modul. Astfel, este inserat directorul de lucru curent.
Un alt exemplu: dacă vi se cere să utilizați gateway-ul implicit undeva într-un script, îl puteți insera cu ușurință în fișierul curent fără a ieși din vim după cum urmează:
:! r ip show show | grep implicit | tăiat -f 3 -d ""
Dacă trebuie să adăugați conținutul unui fișier separat în cel pe care îl editați în prezent, sintaxa este similară cu sfatul anterior. Omiteți semnul exclamării și sunteți bine.
De exemplu, pentru a copia conținutul /etc/passwd:
: r / etc / passwd.
Este posibil să găsiți acest sfat util atunci când trebuie să modificați fișierele de configurare, dar doriți să păstrați cele originale pentru a reveni la „setările din fabrică" ca să spunem așa.
Poveste adevarata. Odată, în timpul unui examen, mi s-a cerut să deschid un fișier text mare care să conțină date aleatorii. Sarcina atribuită a constat în înlocuirea fiecărei apariții a cuvântului Glob cu Pământ (da, îmi amintesc încă cuvintele exacte). Pentru cei familiarizați cu sed, acest lucru va suna ex mod, tastați:
:% s / vechi / nou / g.
Unde vechi este tiparul de căutat și nou este șirul care îl va înlocui.
În cazul descris mai sus, am folosit:
:% s / Glob / Pământ / g.
pentru a face treaba.
Deci, ce-ar fi să doriți să vi se solicite înainte de a face înlocuiri? Uşor. Doar adăugați un c la sfârșitul comenzii de mai sus, după cum urmează:
:% s / vechi / nou / gc.
Aparițiile modelului vor fi evidențiate și vi se va întreba dacă doriți să îl înlocuiți cu noul șir:
:% s / gacanepa / me / gc.
Unde
În acest articol am început să analizăm unele sfaturi și trucuri vim pentru a adăuga la abilitățile de editare a textului. Probabil că vă veți gândi la mai multe altele, așa că vă rugăm să le împărtășiți folosind formularul de mai jos și voi lua în considerare acoperirea lor în următorul și ultimul articol din această serie vim. Aștept cu nerăbdare să ne auzim.