LFCS #2: Kako instalirati i koristiti Vi/Vim u Linuxu


Prije nekoliko mjeseci, Linux fondacija je pokrenula LFCS (Linux Foundation Certified Sysadmin) sertifikaciju kako bi pomogla pojedincima iz cijelog svijeta da potvrde da su sposobni obavljati osnovne do srednje administrativne zadatke na Linux sistemima.

Zadaci administracije Linuxa uključuju rješavanje problema i održavanje iz prve ruke, plus inteligentno donošenje odluka kako bi se znalo kada je vrijeme za pokretanje pitanja višim timovima podrške.

Serija će se zvati Priprema za LFCS (Linux Foundation Certified Sysadmin) dijelovi od 1 do 33 i pokrivati sljedeće teme:

Part 1

Kako koristiti naredbu 'Sed' za manipulaciju datotekama u Linuxu

Part 2

Kako instalirati i koristiti Vi/Vim u Linuxu

Part 3

Kako komprimirati datoteke i direktorije i pronaći datoteke u Linuxu

Part 4

Particioniranje uređaja za skladištenje, formatiranje sistema datoteka i konfigurisanje zamjenske particije

Part 5

Montiraj/Demontiraj lokalne i mrežne (Samba & NFS) datotečne sisteme u Linuxu

Part 6

Sastavljanje particija kao RAID uređaja – Kreiranje i upravljanje rezervnim kopijama sistema

Part 7

Upravljanje procesima pokretanja sistema i uslugama (SysVinit, Systemd i Upstart

Part 8

Kako upravljati korisnicima i grupama, dozvolama za datoteke i Sudo pristupom

Part 9

Upravljanje Linux paketima sa Yum, RPM, Apt, Dpkg, Aptitude i Zypper

Part 10

Učenje osnovnih shell skriptova i rješavanje problema sa sistemom datoteka

Part 11

Kako upravljati i kreirati LVM koristeći naredbe vgcreate, lvcreate i lvextend

Part 12

Kako istražiti Linux s instaliranom dokumentacijom pomoći i alatima

Part 13

Kako konfigurirati i riješiti probleme Grand Unified Bootloader (GRUB)

Part 14

Nadgledajte korištenje resursa Linux procesa i postavite ograničenja procesa po korisniku

Part 15

Kako postaviti ili izmijeniti parametre vremena izvođenja kernela u Linux sistemima

Part 16

Implementacija obavezne kontrole pristupa sa SELinuxom ili AppArmorom u Linuxu

Part 17

Kako postaviti liste kontrole pristupa (ACL) i kvote diska za korisnike i grupe

Part 18

Instaliranje mrežnih usluga i konfiguriranje automatskog pokretanja pri pokretanju

Part 19

Ultimativni vodič za postavljanje FTP servera za omogućavanje anonimnih prijava

Part 20

Postavite osnovni DNS server za rekurzivno keširanje i konfigurirajte zone za domenu

Part 21

Kako instalirati, osigurati i podesiti performanse MariaDB servera baze podataka

Part 22

Kako instalirati i konfigurirati NFS server za dijeljenje sistema datoteka

Part 23

Kako podesiti Apache sa virtuelnim hostingom zasnovanim na imenu sa SSL sertifikatom

Part 24

Kako postaviti Iptables Firewall da omogućite daljinski pristup uslugama u Linuxu

Part 25

Kako pretvoriti Linux u ruter da upravlja prometom statički i dinamički

Part 26

Kako postaviti šifrirane sisteme datoteka i zamijeniti ih pomoću Cryptsetup alata

Part 27

Kako pratiti korištenje sistema, prekide rada i rješavanje problema na Linux serverima

Part 28

Kako postaviti mrežno spremište za instaliranje ili ažuriranje paketa

Part 29

Kako izvršiti reviziju mrežnih performansi, sigurnosti i rješavanja problema

Part 30

Kako instalirati i upravljati virtuelnim mašinama i kontejnerima

Part 31

Naučite osnove Gita za efikasno upravljanje projektima

Part 32

Vodič za početnike za konfiguriranje IPv4 i IPv6 adresa u Linuxu

Part 33

Vodič za početnike za stvaranje mrežnog povezivanja i premošćavanja u Ubuntuu

Ovaj post je Drugi dio serije od 33 tutorijala, ovdje u ovom dijelu ćemo pokriti osnovne operacije uređivanja datoteka i načine razumijevanja u Vi/Vim editoru, koji su potrebni za LFCS sertifikacijski ispit.

Izvršite osnovne operacije uređivanja datoteka u Vi Editoru

Vi je bio prvi uređivač teksta na cijelom ekranu napisan za Unix. Iako je zamišljen da bude mali i jednostavan, može biti pomalo izazovan za ljude koji koriste isključivo GUI uređivače teksta, kao što je NotePad++ ili gedit, da spomenemo samo neke primjeri.

Da bismo koristili Vi, prvo moramo razumjeti 3 načina u kojima ovaj moćni program radi, da bismo kasnije počeli učiti o njegovim moćnim procedurama za uređivanje teksta.

Imajte na umu da se većina modernih Linux distribucija isporučuje s varijantom vi poznatom kao vim (“Vi poboljšan ”), koja podržava više funkcija od originalni vi radi. Iz tog razloga, u ovom vodiču ćemo koristiti vi i vim naizmjenično.

Ako vaša distribucija nema instaliran Vim, možete ga instalirati na sljedeći način.

sudo apt install vim         [On Debian, Ubuntu and Mint]
sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim  [On Gentoo Linux]
sudo apk add vim             [On Alpine Linux]
sudo pacman -S vim           [On Arch Linux]
sudo zypper install vim      [On OpenSUSE]    

Zašto bih želeo da naučim Vi?

Postoje najmanje 2 dobra razloga da naučite vi editor.

  1. vi je uvijek dostupan (bez obzira koju distribuciju koristite) budući da je potreban za POSIX.
  2. vi ne troši značajnu količinu sistemskih resursa i omogućava nam da izvršimo bilo koji zamislivi zadatak bez podizanja prsta s tastature.

Osim toga, vi ima vrlo opsežan ugrađeni priručnik, koji se može pokrenuti pomoću naredbe :help odmah nakon pokretanja programa. Ovaj ugrađeni priručnik sadrži više informacija od vi/m-ove man stranice.

Pokretanje Vi Editora

Da pokrenete vi, upišite vi u komandnu liniju.

vi

Zatim pritisnite i da uđete u način Insert i možete početi kucati.

Drugi način za pokretanje vi/m je.

vi filename

Ovo će otvoriti novi bafer (više o baferima kasnije) pod nazivom ime datoteke, koji kasnije možete sačuvati na disk.

Razumevanje Vi režima

Vi uređivač ima više načina, od kojih svaki služi posebnoj svrsi i omogućava korisnicima da izvode određene radnje.

Evo glavnih načina kojih biste trebali biti svjesni:

Vi Režim komandne linije

U komandnom načinu, vi omogućava korisniku da se kreće po fajlu i unese vi komande, koje su kratke kombinacije jednog ili više slova. Gotovo svi mogu imati prefiks sa brojem za ponavljanje naredbe taj broj puta.

Na primjer, yy (ili Y) kopira cijeli trenutni red, dok 3yy (ili 3Y) kopira cijeli trenutni red zajedno sa dva naredna reda (ukupno 3 reda).

Uvijek možemo ući u komandni način (bez obzira na način na kojem radimo) pritiskom na tipku Esc. Činjenica da se u komandnom režimu tasteri na tastaturi tumače kao komande umesto kao tekst zbunjuje početnike.

Vi Ex Mode

U ex modu, možemo manipulirati datotekama (uključujući spremanje trenutne datoteke i pokretanje vanjskih programa). Da bismo ušli u ovaj način rada, moramo upisati dvotočku (:) iz komandnog režima, direktno praćen imenom naredbe ex-mode koju treba koristiti. Nakon toga, vi se automatski vraća u komandni mod.

Vi Insert Mode

U načinu insert (slovo i se obično koristi za ulazak u ovaj način), jednostavno unosimo tekst. Većina pritisaka na tipke rezultira pojavljivanjem teksta na ekranu (jedan važan izuzetak je tipka Esc, koja izlazi iz načina umetanja i vraća se u komandni način).

Upotreba Vi komandi

Sljedeća tabela prikazuje listu najčešće korištenih vi komandi. Komande izdanja datoteke mogu se nametnuti dodavanjem znaka uzvika naredbi (na primjer, :q! prisiljava napuštanje bez spremanja).

 Key Command

 Opis

 h or left arrow

Idi jedan znak ulijevo

 j or down arrow

Idite niz jednu liniju

 k or up arrow

Idi jedan red gore

 l (lowercase L) or right arrow

Idi jedan znak udesno

 H

Idite na vrh ekrana

 L

Idite na dno ekrana

 G

Idite na kraj datoteke

 w

Pomjerite jednu riječ udesno

 b

Pomjerite jednu riječ ulijevo

 0 (zero)

Idite na početak tekućeg reda

 ^

Idite na prvi znak koji nije prazan u trenutnom redu

 $

Idite na kraj trenutnog reda

 Ctrl-B

Vratite se za jedan ekran

 Ctrl-F

Idi jedan ekran unapred

 i

Umetni na trenutnu poziciju kursora

 I (uppercase i)

Umetnite na početak tekućeg reda

 J (uppercase j)

Pridružite se trenutnoj liniji sa sljedećim (premjestite sljedeći red)

 a

Dodaj nakon trenutne pozicije kursora

 o (lowercase O)

Kreira prazan red nakon trenutnog reda

 O (uppercase o)

Kreira prazan red ispred trenutnog reda

 r

Zamijenite znak na trenutnoj poziciji kursora

 R

Prepiši na trenutnoj poziciji kursora

 x

Izbrišite znak na trenutnoj poziciji kursora

 X

Izbrišite znak neposredno prije (lijevo) trenutne pozicije kursora

 dd

Izrežite (za kasnije lijepljenje) cijelu trenutnu liniju

 D

Izrežite od trenutne pozicije kursora do kraja reda (ova naredba je ekvivalentna d$)

 yX

Dajte naredbu za kretanje X, kopirajte (povucite) odgovarajući broj znakova, riječi ili redova sa trenutne pozicije kursora

 yy or Y

Poništiti (kopirati) cijeli trenutni red

 p

Zalijepite nakon (sljedećeg reda) trenutne pozicije kursora

 P

Zalijepi prije (prethodne linije) trenutne pozicije kursora

 . (period)

Ponovite zadnju komandu

 u

Poništite posljednju naredbu

 U

Poništite zadnju naredbu u posljednjem redu. Ovo će raditi sve dok je kursor još uvijek na liniji.

 n

Pronađite sljedeće podudaranje u pretraživanju

 N

Pronađite prethodno podudaranje u pretraživanju

 :n

Sljedeća datoteka; kada je više datoteka specificirano za uređivanje, ova komanda učitava sljedeću datoteku.

 :e file

Učitajte datoteku umjesto trenutnog fajla.

 :r file

Umetnite sadržaj datoteke nakon (sljedećeg reda) trenutne pozicije kursora

 :q

Izađite bez spremanja promjena.

 :w file

Upišite trenutni bafer u datoteku. Za dodavanje postojećem fajlu koristite :w >> fajl.

 :wq

Upišite sadržaj trenutne datoteke i zatvorite. Ekvivalentno x! i ZZ

 :r! command

Izvršite naredbu i umetnite izlaz nakon (sljedećeg reda) trenutne pozicije kursora.

Vi Opcije

Sljedeće opcije mogu biti korisne prilikom pokretanja vim (moramo ih dodati u naš ~/.vimrc fajl).

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

  • broj skupa prikazuje brojeve redova kada vi otvori postojeću ili novu datoteku.
  • sintaksa uključeno uključuje isticanje sintakse (za više ekstenzija datoteka) kako bi kod i konfiguracijski fajlovi bili čitljiviji.
  • set tabstop=4 postavlja veličinu tabulatora na 4 razmaka (podrazumevana vrijednost je 8).
  • podesi autoindent prenosi prethodno uvlačenje u sljedeći red.

Traži i zamijeni tekst u Vi

vi ima mogućnost da pomjeri kursor na određenu lokaciju (na jednom redu ili preko cijele datoteke) na osnovu pretraživanja. Također može izvršiti zamjenu teksta sa ili bez potvrde korisnika.

Pretraživanje unutar linije

Komanda f pretražuje red i pomiče kursor na sljedeće pojavljivanje određenog znaka u trenutnom redu.

Na primjer, naredba fh bi pomjerila kursor na sljedeću instancu slova h unutar trenutnog reda. Imajte na umu da se ni slovo f ni znak koji tražite neće pojaviti nigdje na vašem ekranu, ali će znak biti istaknut nakon što pritisnete Enter.

Na primjer, ovo je ono što dobijem nakon što pritisnem f4 u komandnom modu.

Pretraživanje cijele datoteke

Koristite naredbu /, nakon koje slijedi riječ ili fraza koju želite tražiti. Pretraživanje se može ponoviti korištenjem prethodnog stringa za pretraživanje naredbom n ili sljedećeg (koristeći naredbu N). Ovo je rezultat kucanja /Jane u komandnom modu.

Pretraži i zamijeni tekst

Vi koristi naredbu (slično sed-u) za izvođenje operacija zamjene u rasponu linija ili cijele datoteke.

Da promijenimo riječ “old” u “young” za cijeli fajl, moramo unijeti sljedeću naredbu.

 :%s/old/young/g 

Napomena: Dvotačka na početku naredbe.

Dvotačka (:) započinje naredbu ex, s u ovom slučaju (za zamjenu), % je prečica koja znači od prvog do posljednjeg reda (opseg se također može specificirati kao n,m što znači “od reda n do reda m ”), old je obrazac pretraživanja, dok je young zamjenski tekst, a g označava da se zamjena treba izvršiti pri svakom pojavljivanju stringa za pretragu u datoteci.

Alternativno, c se može dodati na kraj naredbe da se traži potvrda prije izvođenja bilo kakve zamjene.

:%s/old/young/gc

Prije zamjene originalnog teksta novim, vi/m će nam prikazati sljedeću poruku.

  • y: izvrši zamjenu (da)
  • n: preskoči ovu pojavu i idi na sljedeću (ne)
  • a: izvrši zamjenu u ovoj i svim sljedećim instancama uzorka.
  • q ili Esc: prestani sa zamjenom.
  • l (mala slova L): izvršite ovu zamjenu i napustite (poslednji).
  • Ctrl-e, Ctrl-y: Pomičite se prema dolje i gore, respektivno, da vidite kontekst predložene zamjene.

Uređivanje više datoteka u Vi

Otkucajmo vim file1 file2 file3 u našu komandnu liniju.

vim file1 file2 file3

Prvo, vim će otvoriti file1. Za prelazak na sljedeću datoteku (file2), trebamo koristiti naredbu :n. Kada se želimo vratiti na prethodni fajl, :N će obaviti posao.

Da biste se prebacili sa datoteke1 na datoteku3.

a). Komanda :buffers će pokazati listu fajla koji se trenutno uređuje.

:buffers

b). Naredba :buffer 3 (bez s na kraju) će otvoriti file3 za uređivanje.

Na gornjoj slici znak funte (#) označava da je datoteka trenutno otvorena, ali u pozadini, dok %a označava datoteku koja se trenutno uređuje.

S druge strane, prazan prostor iza broja datoteke (3 u gornjem primjeru) označava da datoteka još nije otvorena.

Privremeni Vi baferi

Da kopirate nekoliko uzastopnih linija (recimo 4, na primjer) u privremeni međuspremnik pod nazivom a (koji nije povezan s fajlom) i postavite te redove u drugi dio datoteke kasnije u trenutnom vi odjeljak, moramo…

  • Pritisnite tipku ESC da biste bili sigurni da smo u vi komandnom modu.
  • Postavite kursor na prvi red teksta koji želimo kopirati.
  • Otkucajte “a4yy” da kopirate trenutni red, zajedno sa 3 naredna reda, u bafer pod nazivom a. Možemo nastaviti uređivati naš fajl – ne moramo odmah da ubacujemo kopirane redove.
  • Kada dođemo do lokacije za kopirane linije, koristite “a prije naredbi p ili P da umetnete kopirane redove u međuspremnik pod nazivom < b>a:

    1. Otkucajte “ap da umetnete redove kopirane u međuspremnik nakon trenutne linije na kojoj se kursor nalazi.
    2. Upišite “aP da umetnete redove kopirane u bafer a prije tekuće linije.

Ako želimo, možemo ponoviti gornje korake da ubacimo sadržaj bafera na više mjesta u našoj datoteci. Privremeni međuspremnik, kao što je onaj u ovom odeljku, uklanja se kada se zatvori trenutni prozor.

Sažetak

Kao što smo vidjeli, vi/m je moćan i svestran uređivač teksta za CLI. Slobodno podijelite svoje trikove i komentare ispod.

Ažuriranje: Ako želite da proširite svoje VI vještine uređivača, predlažem vam da pročitate sljedeća dva vodiča koji će vas voditi do nekih korisni trikovi i savjeti za uređivač VI.

LFCS e-knjiga je sada dostupna za kupovinu. Naručite svoj primjerak već danas i započnite svoj put da postanete certificirani Linux sistem administrator!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Na kraju, ali ne i najmanje važno, razmislite o kupovini vaučera za ispit koristeći sljedeće veze kako biste zaradili malu proviziju, što će nam pomoći da ovu knjigu ažuriramo.