am descoperit vi

Va intriga titlul? As fi putut foarte bine spune “Am re-descoperit vi”

Uite de ce cred asta. De-a lungul timpului am tot cautat un editor de texte simple care sa fie pe placul meu. Am descoperit rand pe rand cate o functie noua in fiecare editor. Unu stia sa selecteze text si sa faca copy si paste fara sa folosesti mouse-ul, altul stia sa stearga randuri intregi… si altele. “vi” a fost tot timul lasat deoarte, poate pentru ca venea cu mai multe moduri de functionare, pentru ca in loc sa se foloseasca de tasta CTRL se folosea de 3 moduri de functionare: command, insert, replace. Era cel putin ciudat. Si pe buna masura, fusese inventat pe vremea cand tastaturile nu aveau sageti, pe vremea cand mergeai pe internet prin dialup cu modem de 2400. Ce mai vremuri! :)

Unele editoare erau incomode, nu aveau comenzile afisate, era greu de cautat prin manual de fiecare data, samd. Alte editoare incarcau tot fisierul pe stdout inainte de a lucra cu el(ce te faceai daca erai pe GPRS si trebuia sa editezi un fisier de 2 MB in China?).

UIte ca vi (“schelet ambulant in fata calculatorului” dupa cum zicea un vechi si bun prieten) vine cu raspus la toate provocarile. Este un adevarat etalon in ceea ce priveste editoarele de text, as putea spune ca este un “limbaj de programare legat de procesarea textului”.

Uite ca o sa incerc sa explic de ce l-am redescoperit.
Ce foloseam eu la un editor de texte in mod curent: stergerea unei linii intregi si “search and replace”.

O functie noua care am descoperit-o in vim (vi improved) era encryption, sau posibilitatea de a cripta fisiere, de a stoca informatii confidentiale bazate pe o parola foarte simplu. Cum se face? Simplu: la deschidere scrieti

vim -x fisier

Va va cere o parola. La urmatoarele deschideri normale pur si simplu va intreaba de parola respectiva. Daca va uitati cu less sau cu cat sau daca nu introduceti parola buna nu o sa intelegeti nimic din fisier.

Modurile de editare: le schimbati cu tasta “Insert”. in partea de jos a ecranului o sa apara “INSERT”, “REPLACE”. Ca sa ajungeti im “mod comanda” apasati tasta “Esc”.

Cum se iese din vim? in mod comanda scrieri

:q

(toate comenzile incep cu “:”, q de la “quit”).
Daca ati facut modificari asupra fisierului si vreti sa iesiti fara sa salvati folositi comanda

:q!

Daca vreti sa salvati modificarile la iesire folositi comenzile

: wq

sau

: x

Vi vine cu optiuni de “undo” si “redo”. Cum se folosesc? Din mod comanda apasati pentru “undo” tasta

u

Pentru “redo” apasati

CTRL+r

Cautarea se face foarte simplu: in mod comanda scrieri

/sir cautat

“Search and replace” se face prin comanda :s/ o sa va dau exemple pentru a intelege:

:s/xxx/yyy/    Inlocuieste xxx cu yyy la prima aparitie
:s/xxx/yyy/g   Inlocuieste xxx cu yyy global (intregul rand)
:s/xxx/yyy/gc  Inlocuieste xxx cu yyy global cu confirmare
:%s/xxx/yyy/g  Inlocuieste xxx cu yyy global in tot fisierul.

Comenzi globale In loc de replace

:g/^#/d       Sterge toate liniile care incep cu #
:g/^$/d       Sterge toate liniile care sunt goale.

*Aceste 2 comenzi va pot scapa intr-un fisier de configuratie de toate liniile comentate, si ce frumos arata de ex un squid.conf super mic in loc de mii de linii comentate.

Copy si Paste:
Pentru selectarea textului in mod comanda mergeti la inceputul sectiunii si apasati tasta “v”. Mergeti cu sagetile la sfarsitul sectiunii care urmeaza a fi copiata/mutata si apasati “y” pentru “copy” sau “d” pentru “cut”. Mergeti unde doriti sa le copiati/mutati si apasati tasta “p”.

Syntax highlighting: in mod comanda scrieti

:syntax on

Ca sa va apara in stanga numarul liniei scrieti

:set number

Daca doriti sa fie in permanenta activa solutia editati visierul /etc/vimrc/vimrc.

In concluzie: Desi este cel mai vechi edtor de texte disponibil pe sisteme *nix ramane la fel de functional si de “usor” de utilizat. A ramas in “topul celor mai utilizate programe ale sysadminilor” si nu degeaba. Am inceput sa-l folosesc:)

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

*

Poți folosi aceste etichete HTML și atribute: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">