Weboldal keresés

8 érdekes „Vi/Vim” szerkesztő tipp és trükk minden Linux rendszergazdának – 2. rész


A sorozat előző cikkében áttekintettünk 7 tippet és trükköt, amelyekkel kiegészítheti vi/m-készségeit. A korábban ismertetett indokokon túlmenően a szövegszerkesztő hatékony használatának elsajátítása Linux rendszerben alapvető képessége a rendszeradminisztrátor vagy mérnök számára, és szükséges kompetencia bármely nagyobb Linux tanúsítási program (például LFCS, LFCE, RHCSA és RHCE) teljesítéséhez. .

Ez azt jelenti, kezdjük.

TIPP #8: Hozzon létre vízszintes vagy függőleges ablakokat

Ezt a tippet Yoander, egyik olvasónk osztotta meg az 1. részben. A vi/m-t több vízszintes vagy függőleges felosztással is elindíthatja, hogy külön fájlokat szerkeszthessen ugyanazon a főablakon belül:

Indítsa el a vi/m programot két vízszintes ablakkal, felül a test1 elemmel, alul a test2

vim -o test1 test2 

Indítsa el a vi/m programot két függőleges ablakkal, a test3-val a bal oldalon és a test4-vel a jobb oldalon:

vim -O test3 test4 

A kurzort egyik ablakról a másikra válthatja a szokásos vi/m mozgási rutinnal (h: jobbra, l: balra, j: alul, k: felül):

  1. Ctrl+w k – felül
  2. Ctrl+w j – lent
  3. Ctrl+w l – balra
  4. Ctrl+w h – jobbra

TIPP #9: Változtassa meg a betűket, szavakat vagy egész sorokat NAGYBETŰRE vagy kisbetűre

Felhívjuk figyelmét, hogy ez a tipp csak vim-ben működik. A következő példákban az X egy egész szám.

  1. Ha egy sor betűt nagybetűre szeretne változtatni, vigye a kurzort az első betűre, majd írja be a gUX szót ex módban, végül nyomja meg a jobbra mutató nyilat a billentyűzeten.
  2. X számú szó módosításához helyezze a kurzort a szó elejére, és írja be a gUXw szót ex módban.
  3. Ha egy egész sort nagybetűre szeretne változtatni, helyezze a kurzort a sor bármely pontjára, és írja be a gUU szót ex módban.

Például egy teljes kisbetűs sor nagybetűssé konvertálásához helyezze a kurzort a sor bármely pontjára, és írja be a gUU szót:

Például a 2 nagybetűs szó kisbetűssé konvertálásához helyezze a kurzort az első szó elejére, és írja be a gu2w kifejezést:

10. TIPP: INSERT módban töröljön karaktereket, szavakat vagy sor elejére

Bár egyszerre törölhet karaktereket vagy több szót ex módban (azaz dw egy szó törléséhez), ezt a Beszúrás módban is megteheti az alábbiak szerint:

  1. Ctrl + h: az előző karakter törlése arra a helyre, ahol a kurzor jelenleg található.
  2. Ctrl + w: az előző szó törlése arra a helyre, ahol a kurzor jelenleg található. Ahhoz, hogy ez megfelelően működjön, a kurzort egy üres helyre kell helyezni a törölni kívánt szó után.
  3. Ctrl + u: a kurzor helyétől közvetlenül balra lévő karaktertől kezdődő aktuális sor törlése.

11. TIPP: Helyezze át vagy másolja a meglévő sorokat a dokumentum másik sorába

Bár igaz, hogy a jól ismert dd, yy és p parancsokat ex módban használhatja sorok törlésére, rángatására (másolására) és beillesztésére, ez csak akkor működik, ha a kurzort arra a helyre helyezi, ahol ezeket a műveleteket végre kívánja hajtani. . A jó hír az, hogy a másolás és az mozgatás parancsokkal ugyanezt megteheti, függetlenül attól, hogy éppen hol van a kurzor.

A következő példában egy „Örökké” című rövid verset használunk Terri Nicole Tharringtontól. Kezdésként a vim megjeleníti a sorszámokat (:set nu Command módban – ez egy extra tipp). A 3. sort az 5. sor alá másoljuk a :3copy5 használatával (Parancs módban is):

Most vonja vissza az utolsó módosítást (Esc + u – egy újabb bónusz tipp!), és írja be a :1move7 parancsot, hogy a 7. sort az 1. sorra cserélje. Kérjük, vegye figyelembe, hogy a 2–7. felfelé és a korábbi 1. sor most a 7. sort foglalja el:

12. TIPP: Számolja meg a minta szerinti keresés eredményeként kapott találatokat, és lépjen át egyik előfordulásról a másikra

Ez a tipp a helyettesítő parancson alapul (#7 tipp a sorozat 1. részében), azzal az eltéréssel, hogy nem távolít el semmit, mivel a helyettesítő viselkedést felülírja az n opció, ami a megadott minta előfordulásának számát eredményezi:

Ügyeljen arra, hogy ne hagyja ki a perjeleket!

:%s/pattern//gn 

Például,

:%s/libero//gn

Ha a minta egyik előfordulásáról a következőre szeretne lépni ex módban, nyomja meg az n billentyűt (kis N betű). Az előző példányra lépéshez nyomja meg az N billentyűt.

TIPP #13: Nyissa meg közvetlenül a vi/m-t egy megadott sorban

Alapértelmezés szerint a vi/m indításakor a kurzor kezdetben az utolsó szerkesztett sorba kerül. Ha meg akarja nyitni a programot, és a kurzort közvetlenül egy megadott sorra szeretné helyezni, használhatja a következő trükköt:

vim filename +line_number

Például nyissa meg a forever.txt fájlt, és helyezze a kurzort a 6 sorba:

vim forever.txt +6

Csináljunk egy kicsit ezen a példán. Tegyük fel, hogy meg akarjuk nyitni a fájlt abban a sorban, ahol a minta 3. előfordulása jelenik meg:

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

Nézzük meg közelebbről, mit csinál a fenti parancs:

  1. grep -in minta fájlnév – megjeleníti a fájlnév összes sorát, ahol a minta előfordul, a sorszámmal minden kimeneti sor elején.
  2. sed -n 3p – a 3. sort jeleníti meg az előző folyamat kimenetéből.

Végül,

  1. A cut -d: -f1 az előző folyamat első mezőjét adja vissza, és a kettőspont (:) a mezőelválasztó.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1

Az előző parancs eredményét ezután átadja a vi/m-nek a program megnyitásához a megadott sorban.

14. TIPP: A vi/m környezet testreszabása

Ha a vi/m-t használja konfigurációs fájlok szerkesztéséhez vagy kód írásához, akkor a program első megnyitásakor meg kell jelenítenie a sorszámokat, és be kell állítania az automatikus behúzást, hogy az Enter megnyomásakor > gombot, a kurzor automatikusan a megfelelő helyre kerül. Ezenkívül érdemes lehet személyre szabni a tabulátor által elfoglalt szóközök számát.

Bár ezt minden alkalommal megteheti, amikor elindítja a vi/m-t, egyszerűbb beállítani ezeket a beállításokat a ~/.vimrc fájlban, hogy azok automatikusan alkalmazásra kerüljenek:

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

A vi/m környezet testreszabásával kapcsolatos további lehetőségekért tekintse meg az online vim dokumentációt.

15. TIPP: Szerezzen általános Vim súgót/beállításokat a vimtutorral

Ha bármikor felfrissítened kell általános vi/m készségeidet, elindíthatod a parancssorból a vimtutor alkalmazást, amely egy teljes vi/m súgót jelenít meg, amelyet bármikor használhatsz. anélkül, hogy be kellene indítania egy webböngészőt, hogy megkeresse, hogyan lehet végrehajtani egy bizonyos feladatot a vi/m-ben.

vimtutor

Vegye figyelembe, hogy úgy navigálhat vagy kereshet a vimtutor tartalmában, mintha egy normál fájlban navigálna a vi/m-ben.

Összegzés

Ebben a 2 cikkből álló sorozatban számos vi/m tippet és trükköt osztottam meg, amelyek segítségével hatékonyabban szerkesztheti szövegét parancssori eszközökkel. Biztos vagyok benne, hogy van más is – ezért nyugodtan oszd meg őket a közösség többi tagjával az alábbi űrlap segítségével. Mint mindig, most is várjuk a kérdéseket, észrevételeket.