LFCS: Kaip įdiegti ir naudoti „vi/vim“ kaip viso teksto rengyklę - 2 dalis


Prieš keletą mėnesių „Linux Foundation“ pradėjo LFCS („Linux Foundation Certified Sysadmin“) sertifikatą, kad padėtų asmenims iš viso pasaulio įsitikinti, ar jie sugeba atlikti pagrindines ir tarpines sistemos administravimo užduotis „Linux“ sistemose: pirmiausia sistemos palaikymas rankinis trikčių šalinimas ir priežiūra, taip pat protingas sprendimų priėmimas, kad žinotumėte, kada laikas kelti problemas viršutinėms palaikymo komandoms.

Pažvelkite į žemiau pateiktą vaizdo įrašą, kuriame paaiškinta „Linux Foundation“ sertifikavimo programa.

Šis įrašas yra 10 pamokų serijos 2 dalis, čia šioje dalyje aptarsime pagrindines failų redagavimo operacijas ir supratimo režimus „vi/m“ redaktoriuje, kurie reikalingi LFCS sertifikavimo egzaminui.

Atlikite pagrindines failų redagavimo operacijas naudodami „vi/m“

Vi buvo pirmasis viso ekrano teksto redaktorius, parašytas „Unix“. Nors tai buvo ketinama padaryti mažą ir paprastą, žmonėms, kurie įpratę naudotis tik GUI teksto redaktoriais, tokiais kaip NotePad ++ arba „gedit“, gali būti šioks toks iššūkis, kad būtų išvardyti keli pavyzdžiai.

Norėdami naudoti Vi , pirmiausia turime suprasti 3 režimus, kuriais veikia ši galinga programa, kad vėliau galėtume pradėti sužinoti apie galingas jos teksto redagavimo procedūras.

Atkreipkite dėmesį, kad daugumoje šiuolaikinių „Linux“ paskirstymų pristatomas vi variantas, žinomas kaip vim („Vi patobulinta“), kuris palaiko daugiau funkcijų nei originalus „vi“. Dėl šios priežasties šioje pamokoje mes naudosime vi ir vim pakaitomis.

Jei jūsų platinimo programoje nėra įdiegta „vim“, galite ją įdiegti taip.

  1. „Ubuntu“ ir išvestinės priemonės : „aptitude update“ ir „& aptitude install vim“
  2. „Red Hat“ pagrindu veikiantys paskirstymai : „yum update && yum install vim“
  3. openSUSE : „zypper“ atnaujinimas ir „& zypper“ diegimo „vim“

Kodėl turėčiau norėti išmokti vi?

Yra bent 2 svarios priežastys mokytis vi.

1. vi visada yra prieinamas (nesvarbu, kokį platinimą naudojate), nes to reikalauja POSIX.

2. vi nenaudoja daug sistemos išteklių ir leidžia mums atlikti bet kokias įsivaizduojamas užduotis nepakeldami pirštų nuo klaviatūros.

Be to, „vi“ turi labai išsamų įmontuotą vadovą, kurį galima paleisti naudojant komandą : help iškart po programos paleidimo. Šiame integruotame vadove yra daugiau informacijos nei vi/m vartotojo puslapyje.

Norėdami paleisti „vi“, komandinėje eilutėje įveskite vi.

Tada paspauskite i , kad įeitumėte į Įterpti režimą, ir galite pradėti rašyti. Kitas būdas paleisti vi/m yra.

# vi filename

Kuris atvers naują buferį (daugiau apie buferius vėliau) pavadinimu failo vardas, kurį vėliau galėsite išsaugoti diske.

1. Komandų režime „vi“ leidžia vartotojui naršyti faile ir įvesti „vi“ komandas, kurios yra trumpos, didžiosiomis ir mažosiomis raidėmis sujungtos vienos ar daugiau raidžių kombinacijos. Beveik visiems jiems gali būti pridedamas skaičius, kad komanda pakartotų tiek kartų.

Pvz., yy (arba Y ) nukopijuoja visą dabartinę eilutę, o 3yy (arba 3Y ) - visa dabartinė linija kartu su dviem kitomis eilutėmis (iš viso 3 eilutės). Mes visada galime įeiti į komandų režimą (neatsižvelgiant į režimą, kurį dirbame) paspausdami klavišą Esc . Tai, kad komandų režime klaviatūros klavišai interpretuojami kaip komandos, o ne tekstas, pradedantiesiems yra painus.

2. ex režimu galime manipuliuoti failais (įskaitant dabartinio failo išsaugojimą ir paleidimą už programų ribų). Norėdami įeiti į šį režimą, turime įvesti dvitaškį (: ) iš komandų režimo, po kurio nurodomas ex-mode komandos, kurią reikia naudoti, pavadinimas. Po to, vi automatiškai grįžta į komandos režimą.

3. Įterpimo režime (norint įvesti šį režimą dažniausiai naudojama raidė i ), mes tiesiog įvedame tekstą. Daugelis klavišų paspaudimų lemia, kad ekrane pasirodo tekstas (viena svarbi išimtis yra klavišas Esc , kuris išeina iš įterpimo režimo ir grįžta į komandų režimą).

Šioje lentelėje pateikiamas dažniausiai naudojamų „vi“ komandų sąrašas. Failų leidimo komandas galima vykdyti pridedant šauktuko ženklą prie komandos (pavyzdžiui,

Šios parinktys gali būti naudingos vykdant „vim“ (jas turime įtraukti į failą ~/.vimrc ).

# echo set number >> ~/.vimrc
# echo syntax on >> ~/.vimrc
# echo set tabstop=4 >> ~/.vimrc
# echo set autoindent >> ~/.vimrc

  1. nustatytas skaičius rodo eilučių numerius, kai vi atidaro esamą ar naują failą.
  2. sintaksė įjungia sintaksės paryškinimą (keliems failų plėtiniams), kad kodo ir konfigūracijos failai būtų lengviau skaitomi.
  3. set tabstop = 4 nustato skirtuko dydį į 4 tarpus (numatytoji vertė yra 8).
  4. set autoindent perkelia ankstesnę įtrauką į kitą eilutę.

vi turi galimybę perkelti žymeklį į tam tikrą vietą (vienoje eilutėje arba per visą failą) pagal paieškas. Jis taip pat gali atlikti teksto pakeitimus su vartotojo patvirtinimu arba be jo.

a). Ieškoma eilutėje: komanda f ieško eilutės ir perkelia žymeklį į kitą nurodyto simbolio atsiradimą dabartinėje eilutėje.

Pavyzdžiui, komanda fh perkelia žymeklį į kitą raidės h egzempliorių dabartinėje eilutėje. Atminkite, kad nei raidė f , nei ieškomas simbolis nebus rodomi bet kurioje jūsų ekrano vietoje, tačiau paspaudus Enter simbolis bus paryškintas.

Pavyzdžiui, tai gaunu komandų režime paspaudus f4 .

b). Ieškoma visame faile: naudokite komandą /, po kurios ieškomas žodis ar frazė. Paieška gali būti pakartota naudojant ankstesnę paieškos eilutę su komanda n arba kitą (naudojant komandą N ). Tai yra įvesti /Jane komandų režimu.

c). vi naudoja komandą (panašią į sed's), kad atliktų pakeitimo operacijas eilutėse ar visame faile. Norėdami pakeisti viso failo žodį „ senas “ į „ jaunas “, turime įvesti šią komandą.

 :%s/old/young/g 

Pastaba: dvitaškis komandos pradžioje.

Dvitaškis (: ) paleidžia komandą ex, s šiuo atveju (pakeičiant), % yra nuorodos reikšmė nuo pirmos eilutės iki paskutinė eilutė (diapazoną taip pat galima nurodyti kaip n , m tai reiškia „nuo n linijos iki m eilutės“), senas yra paieškos šablonas, o jaunas yra pakaitinis tekstas, o g rodo, kad pakeitimas turėtų būti atliekamas kiekviename faile esančioje paieškos eilutėje.

Arba komandos pabaigoje gali būti pridėtas c , kad būtų paprašyta patvirtinimo prieš atliekant bet kokį pakeitimą.

:%s/old/young/gc

Prieš pakeisdamas originalų tekstą nauju, „vi/m“ pateiks mums šį pranešimą.

  1. y : atlikite pakeitimą (taip)
  2. n : praleiskite šį įvykį ir pereikite prie kito (ne)
  3. a : atlikite pakeitimą šiame ir visuose tolesniuose pavyzdžio pavyzdžiuose.
  4. q arba Esc : nustokite keisti.
  5. l ( mažosios raidės L ): atlikite šį pakeitimą ir meskite (paskutinis).
  6. Ctrl-e , Ctrl-y : slinkite atitinkamai žemyn ir aukštyn, kad peržiūrėtumėte siūlomo pakeitimo kontekstą.

Į komandų eilutę įveskite vim file1 file2 file3 .

# vim file1 file2 file3

Pirmiausia „vim“ atidarys failą1 . Norėdami pereiti prie kito failo ( failas2 ), turime naudoti komandą : n . Kai norime grįžti į ankstesnį failą, : N atliks šį darbą.

Norėdami pereiti nuo failas1 į failas3 .

a). Komandoje : buferiai bus rodomas šiuo metu redaguojamo failo sąrašas.

:buffers

b). Komanda : 3 buferis (be s pabaigoje) atidarys failą3 redaguoti.

Viršutiniame paveikslėlyje svaro ženklas ( # ) rodo, kad failas šiuo metu atidarytas, bet yra fone, o % a pažymi failą, kuris šiuo metu yra redaguojamas. Kita vertus, tuščia vieta po failo numerio (3 aukščiau pateiktame pavyzdyje) rodo, kad failas dar nebuvo atidarytas.

Norėdami nukopijuoti keletą eilučių iš eilės (tarkime, pavyzdžiui, 4 ) į laikiną buferį, pavadintą a (nesusietu su byla), ir šias eilutes įdėti į kitą failo dalį vėliau dabartiniame vi skyriuje, turime ...

1. Paspauskite ESC klavišą, kad įsitikintumėte, jog veikia „vi“ komandų režimas.

2. Užveskite žymeklį ant pirmos norimo nukopijuoti teksto eilutės.

3. Įveskite „ a4yy “, jei norite nukopijuoti dabartinę eilutę kartu su 3 kitomis eilutėmis į buferį, pavadintą a. Mes galime tęsti savo failo redagavimą - mums nereikia nedelsiant įterpti nukopijuotų eilučių.

4. Kai pasieksime nukopijuotų eilučių vietą, naudokite „ a prieš komandas p arba P , kad įterptumėte nukopijuotas eilutes į buferį pavadintas a :

  1. Įveskite eilutes, nukopijuotas į buferį a, po dabartinės eilutės, ant kurios laikosi žymeklis, įveskite „ ap “.
  2. Įveskite eilutes, nukopijuotas į buferį a prieš dabartinę eilutę, įveskite „ aP “.

Jei norime, galime pakartoti aukščiau nurodytus veiksmus, kad į failo kelias vietas įterptume buferio a turinį. Laikinas buferis, kaip ir šiame skyriuje, yra pašalinamas uždarius dabartinį langą.

Santrauka

Kaip matėme, vi / m yra galingas ir universalus CLI teksto redaktorius. Nesivaržykite pasidalinti savo gudrybėmis ir komentarais žemiau.

  1. Apie LFCS
  2. Kodėl reikia gauti „Linux Foundation“ sertifikatą?
  3. Registruokitės į LFCS egzaminą

Atnaujinimas: jei norite išplėsti savo „VI“ redaktoriaus įgūdžius, siūlau perskaityti šiuos du vadovus, kurie padės jums rasti naudingų VI redaktoriaus gudrybių ir patarimų.