În articolul anterior al acestei serii am analizat 7 sfaturi și trucuri de adăugat la setul de abilități vi / m. Pe lângă motivele prezentate anterior, învățarea modului de utilizare eficientă a unui editor de text în Linux într-o abilitate esențială pentru un administrator de sistem sau inginer și este o competență necesară pentru a trece orice program major de certificare Linux (de exemplu la fel de LFCS, LFCE, RHCSA, și RHCE).
Acestea fiind spuse, să începem.
Acest sfat a fost împărtășit de Yoander, unul dintre cititorii noștri, în Partea 1. Puteți lansa vi / m cu mai multe divizii orizontale sau verticale pentru a edita fișiere separate în aceeași fereastră principală:
Lansați vi / m cu două ferestre orizontale, cu test1 în vârf și test2 în partea de jos
# vim -o test1 test2
Lansați vi / m cu două ferestre verticale, cu test3 în stânga și test4 pe dreapta:
# vim -O test3 test4
Puteți comuta cursorul de la o fereastră la alta cu rutina obișnuită de mișcare vi / m (h: dreapta, l: stânga, j: fund, k: top):
Vă rugăm să rețineți că acest sfat funcționează numai în vim. În exemplele următoare, X este un număr întreg.
De exemplu, pentru a converti un întreg minuscule linie la majuscule, ar trebui să plasați cursorul oriunde pe linie și să tastați gUU:
De exemplu, pentru a converti 2 majuscule cuvinte către minuscule, ar trebui să plasați cursorul la începutul primului cuvânt și să tastați gu2w:
În timp ce puteți șterge simultan caractere sau mai multe cuvinte ex mod (adică dw pentru a șterge un cuvânt), puteți face acest lucru și în modul Insert, după cum urmează:
Deși este adevărat că puteți utiliza comenzile bine-cunoscute dd, yy și p în modul ex pentru a șterge, yank (copiere) și lipiți liniile, respectiv, care funcționează numai atunci când cursorul este plasat acolo unde doriți să le efectuați operațiuni. Vestea bună este că cu copie și mutare comenzi puteți face același lucru indiferent de locul în care este plasat cursorul în prezent.
Pentru următorul exemplu vom folosi un scurt poem intitulat „Pentru totdeauna" de Terri Nicole Tharrington. Pentru început, vom afișa numerele de linie vim (: set nu în modul Comandă - considerați acest lucru un sfat suplimentar). Noi vom folosi : 3copy5 (de asemenea, în modul de comandă) pentru a copia linia 3 sub linia 5:
Acum, anulați ultima modificare (Esc + u - încă un sfat bonus!) Și tastați : 1move7 pentru a înlocui linia 7 cu linia 1. Vă rugăm să rețineți modul în care liniile 2 până la 7 sunt deplasate în sus și fosta linie 1 ocupă acum linia 7:
Acest sfat se bazează pe comanda substitutivă (tip #7 în Partea 1 din această serie), cu excepția faptului că nu va elimina nimic, deoarece comportamentul substitut este suprascris de n opțiune, rezultând în numărul de apariții al modelului specificat:
Asigurați-vă că nu omiteți niciuna dintre barele oblice înainte!
:% s / model // gn
De exemplu,
:% s / libero // gn.
Pentru a trece de la o apariție a modelului la următoarea în ex mod, apăsați n (minuscule N). Pentru a trece la instanța anterioară, apăsați N.
În mod implicit, când lansați vi / m, cursorul este plasat inițial în ultima linie care a fost editată. Dacă doriți să deschideți programul și să puneți cursorul direct pe o linie specificată, puteți utiliza următorul truc:
# vim nume de fișier + număr_linie.
De exemplu, deschideți pentru totdeauna.txt și așezați cursorul în linie 6:
# vim forever.txt +6.
Să modificăm puțin acest exemplu. Să presupunem că dorim să deschidem fișierul pe linia în care apare a treia apariție a modelului:
# vim filename + $ (grep -in model file name | sed -n 3p | cut -d: -f1)
Să aruncăm o privire mai atentă la ceea ce face comanda de mai sus:
In cele din urma,
# grep -in forever forever.txt. # grep -in forever forever.txt | sed -n 3p. # grep -in forever forever.txt | sed -n 3p | tăiat -d: -f1.
Rezultatul comenzii anterioare este apoi transmis la vi / m pentru a deschide programul pe linia specificată.
Dacă utilizați vi / m pentru a edita fișiere de configurare sau pentru a scrie cod, veți dori să puteți afișa fișierul numerele de linie când deschideți programul pentru prima dată și pentru a seta indentarea automată, astfel încât atunci când apăsați introduce, cursorul va fi plasat automat în poziția corectă. În plus, poate doriți să personalizați numărul de spații albe pe care le ocupă o filă.
Deși puteți face acest lucru de fiecare dată când lansați vi / m, este mai ușor să setați aceste opțiuni ~ / .vimrc
astfel încât acestea să fie aplicate automat:
setează numărul. setați autoindent. setați lățimea de schimb = 4. set softtabstop = 4. set expandtab.
Pentru alte opțiuni de personalizare a mediului vi / m, puteți consulta fișierul documentație vim online.
Dacă în orice moment trebuie să vă perfecționați abilitățile generale de vi / m, puteți lansa vimtutor din linia de comandă, care va afișa un ajutor complet vi / m la care vă puteți referi ori de câte ori doriți, fără a fi nevoie să deschideți un browser web pentru a căuta cum să efectuați o anumită sarcină în vi / m.
# vimtutor.
Rețineți că puteți naviga sau căuta conținutul vimtutor ca și cum ați naviga într-un fișier obișnuit în vi / m.
În această serie de 2 articole am împărtășit câteva sfaturi vi / m și trucuri care ar trebui să vă ajute să fiți mai eficienți atunci când vine vorba de editarea textului folosind instrumentele din linia de comandă. Sunt sigur că trebuie să aveți și altele - așa că nu ezitați să le împărtășiți cu restul comunității folosind formularul de mai jos. Ca întotdeauna, întrebările și comentariile sunt, de asemenea, binevenite.