[[oktatas:linux|< Linux]] ====== Vim ====== * **Szerző:** Sallai András * Copyright (c) 2013, Sallai András * Szerkesztve: 2013-2021 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== A vim egy nagy tudású ASCII szövegszerkesztő. A vim a vi szövegszerkesztő egy bővített tudású változata. ===== Telepítés ===== A Debian vi szövegszerkesztőt tartalmazza alapértelmezésként, de telepíthető a vim csomag is. apt install vim ===== A használatról ===== A vim két üzemmódban dolgozik: * parancs * szerkesztő * vizuális Szerkesztő üzemmódban szerkeszthetjük a szöveget. A parancs üzemmódban különböző parancsokat hajthatunk végre. Szerkesztő üzemmódban kerülhetünk a például az "i" vagy az "a" billentyűvel. A parancsüzemmódba az "Esc" billentyűvel kerülhetünk vissza. Vizuális üzemmódban vágólap műveleteket végezhetünk. ===== Indítás ===== A vi parancs indítunk. Kiadható önmagában és paraméterrel is: vi vi adat.xt vi main.c ===== Kilépés ===== Elsőként legyen egy olyan billentyűsor, amely biztosan kilép: * :q! Megnyomjuk az escape billentyűt, majd bírjuk :q!. Magyarázat: * -- kilép szerkesztő üzemmódból * : -- ex parancs következik * q -- kilépés jön * ! -- erőltetett művelet Kilépés mentéssel: :x :wq! ZZ ===== Szerkesztés ===== Legyen egy main.c fájl, amit szerkesztünk: vi main.c Induláskor parancs módban vagyunk. Be kell lépnünk szerkesztő módba. Ehhez használjuk a következő billentyűket: * a -- append -- hozzáfűzés * A -- append -- hozzáfűzés az aktuális sor végétől * i -- insert -- beszúrás * I -- insert -- beszúrás az aktuális sor elejétől * o -- beszúrás a kurzor alatt és ott szerkesztés * O -- beszúrás a kurzor felett és szerkesztés ott A szerkesztés végén visszatérünk parancsüzemmódba: * * v -- visual -- vizuális mód -- kijelölhetünk szövegeket Fájl beszúrása: :r fajlnev.txt ===== A parancsüzemmód ===== A parancsüzemmódból szintén kettő van: * egy billentyűs parancsok * billentyűkombinációk * ex parancsok Az egybillentyűs parancsok esetén egyszerűen lenyomom a billentyűt. Az ex parancsokat mindig (:) kettősponttal kezdjük. ===== Mentés ===== Egy ex parancsot fogunk használni, :w :w Ha már biztosan parancsüzemmódban vagyunk, mentettünk és szeretnénk kilépni, használjuk a :q ex parancsot: :q ===== Megnyitás ===== Könyvtárstruktúra megnyitása: :e . ===== Szerkesztő parancsok ===== Törlés: * x -- karakter törlése * X -- a kurzortól balra lévő karakter törlése * dw -- szó törlése * dd -- sor törlése * D -- törlés a kurzortól a sor végéig * d$ -- törlés a kurzortól a sor végéig * dG -- törlés a kurzortól a fájl végéig Törlés: x Négy karakter törlése: 4x Három szó törlése: 3dw Kurzormozgatás * 0 - Kurzor mozgatása a sor elejére * $ - Kurzor mozgatása a sor végére * w - kurzor egy szóval jobbra * b - kurzor egy szóval balra * l - kurzor egy karakterrel jobbra * k - kurzor egy sorral feljebb * j - kurzor egy sorral le * h - kurzor egy sorral balra * ~ - kisbetű-nagybetű csere * u - utolsó parancs visszavonása * . - utolsó parancs ismétlése ===== Számozás ===== Bekapcsolás: :set number Kikapcsolás: :set nonumber ===== Csere ===== A vim szerkesztővel használhatjuk a sed-ben már megismert szövegcserélési lehetőséget. vim dolgozok.txt :%s/Szolnok/Szeged/g A parancs az összes Szolnok szót Szegedre cseréli. Ha egy sorban csak az első előfordulást szeretném Szegedre cserélni akkor kihagyjuk a "g"-t a végéről: :%s/Szolnok/Szeged/ ===== Mozgás a szövegben ===== Karakterenként ''[h],[j],[k],[l]'' billentyűket használhatjuk. Egy szó előre: w Egy szó hátra: b Ha zárójelen állunk, átugrik a párjára: % Lapozás: * ctrl-f -- lapozás le, egy képernyő oldalt * ctrl-b -- lapozás fel, egy képernyő oldalt * ctrl-u -- lapozás fel, fél képernyő oldalt * ctrl-d -- lapozás le, fél képernyő oldalt * $ -- a sor végére * 0 -- s sor elejére ===== Vizuális mód ===== * v - belépés vizuális módba * V - teljes sorok kijelöléve * Ctrl+V - belépés vizuális módba - kijelölés oszlop szinten Vágólap műveletek: * d - törlés * y - másolás * c - ráír * p - beilleszt * u - visszavonás ===== Az ablak felosztása ===== :vs -- vertikális felosztás :Vex -- vertikális felosztás :sp -- horizontális felosztás :Hex -- horizontális felosztás Ctrl+w, v -- vertikális felosztás Ctrl+w, s -- horizontális felosztás Váltás a felosztások között: Ctr+w,Ctrl+w Ctrl+w,kurzor nyilak Egy felosztott ablak megszüntetése: :q ===== Tabok (fülek) használata ===== Új Tab: :tabnew Váltás a tabok között: Ctrl+f,g,t ===== Kódtámogatás ===== Kódkiegészítés: Ctrl+p A fájlban található ismétlődő szavak kiegészítése: Ctrl+n ===== Keresés ===== * /minta -- keresés előre * ?minta -- keresés hátra * n -- következő találat * N -- előző találat ===== Színséma ===== A színsémák a colorscheme paranccsal állíthatók: :colorscheme morning Fehér alap, fekete szöveg: :colorscheme shine A használható színsémák a tabulátor billentyűvel léptethetők: :colorscheme A colorscheme egy rövidített verziója a colo: :colo shine A használható színsémákat így is megtekinthetjük: ls /usr/share/vim/vim81/colors/ ===== Linkek ===== * http://www.openvim.com/tutorial.html (2017)