8 mielenkiintoista Vi/Vim-editorin vihjettä ja temppuja jokaiselle Linux-järjestelmänvalvojalle - Osa 2


Tämän sarjan edellisessä artikkelissa tarkastelimme 7 vinkkiä ja temppua, jotka voit lisätä vi/m-taitosi joukkoon. Aiemmin esitettyjen syiden lisäksi tekstieditorin tehokkaan käytön oppiminen Linuxissa on olennainen kyky järjestelmänvalvojalle tai insinöörille ja vaaditaan minkä tahansa suuren Linuxin sertifiointiohjelman (kuten LFCS, LFCE, RHCSA ja RHCE) läpäisemiseen. .

Se sanoi, aloitetaan.

VINKKI 8: Luo vaaka- tai pystysuorat ikkunat

Tämän vinkin jakoi Yoander, yksi lukijoistamme, osassa 1. Voit käynnistää vi/m:n useilla vaaka- tai pystyjakoilla muokataksesi erillisiä tiedostoja samassa pääikkunassa:

Käynnistä vi/m kahdella vaakasuuntaisella ikkunalla, test1 yläreunassa ja test2 alareunassa

vim -o test1 test2 

Käynnistä vi/m kahdella pystysuoralla ikkunalla, test3 vasemmalla ja test4 oikealla:

vim -O test3 test4 

Voit vaihtaa kohdistimen ikkunasta toiseen tavallisella vi/m-liikerutiinilla (h: oikea, l: vasen, j: alhaalla, k: ylhäällä):

  1. Ctrl+w k – ylhäältä
  2. Ctrl+w j – alaosa
  3. Ctrl+w l – vasen
  4. Ctrl+w h – oikea

VINKKI 9: Muuta kirjaimet, sanat tai kokonaiset rivit isoiksi tai pieniksi kirjaimille

Huomaa, että tämä vinkki toimii vain vimissä. Seuraavissa esimerkeissä X on kokonaisluku.

  1. Jos haluat muuttaa kirjainten sarjan isoiksi, aseta kohdistin ensimmäisen kirjaimen kohdalle, kirjoita gUX ex-tilassa ja paina lopuksi näppäimistön oikeaa nuolta.
  2. Voit muuttaa X sanojen määrää asettamalla kohdistimen sanan alkuun ja kirjoittamalla gUXw ex-tilassa.
  3. Voit muuttaa koko rivin isoiksi asettamalla kohdistimen mihin tahansa rivin kohtaan ja kirjoittamalla gUU ex-tilassa.

Jos esimerkiksi haluat muuntaa koko pienet rivin isoiksi, aseta kohdistin mihin tahansa rivin kohtaan ja kirjoita gUU:

Jos esimerkiksi haluat muuntaa 2 isoa sanaa pieniksi kirjaimille, aseta kohdistin ensimmäisen sanan alkuun ja kirjoita gu2w:

VINKKI #10: Poista merkkejä, sanoja tai rivin alkuun INSERT-tilassa

Vaikka voit poistaa merkkejä tai useita sanoja kerralla ex-tilassa (eli dw poistaaksesi sanan), voit tehdä sen myös lisäystilassa seuraavasti:

  1. Ctrl + h: poista edellinen merkki kohtaan, jossa kohdistin tällä hetkellä sijaitsee.
  2. Ctrl + w: poista edellinen sana paikkaan, jossa kohdistin tällä hetkellä sijaitsee. Jotta tämä toimisi oikein, kohdistin on sijoitettava tyhjään tilaan poistettavan sanan jälkeen.
  3. Ctrl + u: poista nykyinen rivi, joka alkaa merkistä heti kohdistimen vasemmalla puolella.

VINKKI 11: Siirrä tai kopioi olemassa olevat rivit asiakirjan toiselle riville

Vaikka on totta, että voit käyttää tunnettuja dd-, yy- ja p-komentoja ex-tilassa rivien poistamiseen, nykimiseen (kopioimiseen) ja liittämiseen, tämä toimii vain, kun kohdistin on asetettu kohtaan, jossa haluat suorittaa kyseiset toiminnot. . Hyvä uutinen on, että kopioi- ja siirrä-komennoilla voit tehdä saman riippumatta siitä, missä kohdistin tällä hetkellä on.

Seuraavassa esimerkissä käytämme Terri Nicole Tharringtonin lyhyttä runoa nimeltä Ikuisesti. Aluksi vim näyttää rivinumerot (:set nu komentotilassa – harkitse tätä ylimääräisenä vinkkinä). Käytämme :3copy5-toimintoa (myös komentotilassa) rivin 3 kopioimiseen rivin 5 alapuolelle:

Kumoa nyt viimeisin muutos (Esc + u – toinen bonusvinkki!) ja korvaa rivi 7 rivillä 1 kirjoittamalla :1move7. Huomaa, kuinka rivit 2–7 siirretään ylös ja entinen rivi 1 on nyt rivillä 7:

VINKKI #12: Laske kaavahaun tulokset ja siirry esiintymästä toiseen

Tämä vihje perustuu korvaavaan komentoon (vinkki #7 tämän sarjan osassa 1), sillä poikkeuksella, että se ei poista mitään, koska korvaava käyttäytyminen ohittaa n-vaihtoehto, jolloin tuloksena on määritetyn mallin esiintymisten määrä:

Varmista, että et jätä väliin yhtään eteenpäin suuntautuvaa kauttaviivaa!

:%s/pattern//gn 

Esimerkiksi,

:%s/libero//gn

Voit siirtyä kuvion esiintymisestä toiseen ex-tilassa painamalla n-näppäintä (pienet kirjaimet N). Siirry edelliseen esiintymään painamalla N.

VINKKI #13: Avaa vi/m suoraan määritetyllä rivillä

Oletuksena, kun käynnistät vi/m:n, kohdistin sijoitetaan alun perin viimeiselle muokatulle riville. Jos haluat avata ohjelman ja asettaa kohdistimen suoraan tietylle riville, voit käyttää seuraavaa temppua:

vim filename +line_number

Avaa esimerkiksi forever.txt ja aseta kohdistin riville 6:

vim forever.txt +6

Muokataan tätä esimerkkiä hieman. Oletetaan, että haluamme avata tiedoston rivillä, jolla kuvion kolmas esiintyminen näkyy:

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

Katsotaanpa tarkemmin, mitä yllä oleva komento tekee:

  1. grep -in kuvion tiedostonimi – näyttää kaikki rivit tiedostonimestä, jossa kuvio esiintyy, rivinumerolla jokaisen tulosrivin alussa.
  2. sed -n 3p – näyttää 3. rivin edellisen liukuhihnan lähdöstä.

Lopuksi,

  1. cut -d: -f1 palauttaa edellisen liukuhihnan ensimmäisen kentän, jossa kaksoispiste (:) on kentän erotin.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1

Edellisen komennon tulos välitetään sitten vi/m:lle ohjelman avaamiseksi määritetyllä rivillä.

VINKKI #14: vi/m-ympäristön mukauttaminen

Jos käytät vi/m:tä asetustiedostojen muokkaamiseen tai koodin kirjoittamiseen, haluat pystyä näyttämään rivinumerot, kun avaat ohjelman ensimmäisen kerran ja asettaa automaattisen sisennyksen niin, että kun painat Enter > -näppäintä, kohdistin sijoitetaan automaattisesti oikeaan kohtaan. Lisäksi saatat haluta mukauttaa välilehden käyttämien välilyöntien määrää.

Vaikka voit tehdä sen joka kerta, kun käynnistät vi/m:n, on helpompi määrittää nämä asetukset tiedostossa ~/.vimrc, jotta ne otetaan automaattisesti käyttöön:

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

Lisätietoja vi/m-ympäristön mukauttamisvaihtoehdoista on vim-dokumentaatiossa.

VINKKI 15: Hanki yleistä Vim-apua/vaihtoehtoja vimtutorilla

Jos haluat milloin tahansa päivittää yleisiä vi/m-taitojasi, voit käynnistää vimtutorin komentoriviltä, joka näyttää täydellisen vi/m-ohjeen, johon voit viitata niin usein kuin haluat. ilman tarvetta käynnistää verkkoselainta etsiäksesi, kuinka tietty tehtävä suoritetaan vi/m:ssä.

vimtutor

Huomaa, että voit navigoida vimtutorin sisällöstä tai etsiä sitä ikään kuin navigoit tavallisessa tiedostossa vi/m:ssä.

Yhteenveto

Tässä 2 artikkelin sarjassa olen jakanut useita vi/m-vinkkejä ja temppuja, joiden pitäisi auttaa sinua olemaan tehokkaampia, kun on kyse tekstin muokkaamisesta komentorivityökalujen avulla. Olen varma, että sinulla on muitakin – joten voit vapaasti jakaa ne muun yhteisön kanssa käyttämällä alla olevaa lomaketta. Kuten aina, myös kysymykset ja kommentit ovat tervetulleita.