You are on page 1of 11

5

5.1

Editoare de text

1. Editoare de text Introducere

n acest capitol sunt prezentate dou editoare de text ce pot fi utilizate pentru scrierea fiierelor de tip text, implicit pentru scrierea programelor de tip shell-script. Primul editor este editorul clasic al UNIXului, ce se numete vi (visual editor - pronunat ca n englezescul vee eye) iar cel de-al doilea editor de texte este pico. Cu ajutorul acestor editoare de text vom crea i/sau modifica fiiere de configurare, fiiere de tip shell-script sau modifica fiiere de configurare a sistemului legate de reea, securitate, administrare etc. Editorul vi face parte integrant din sistemul de operare UNIX nc de la nceputurile acestuia (anii 70) i este disponibil pentru toate variantele de UNIX. Editorul vi este flexibil i dispune de o serie de faciliti puternice. Editorul pico este editorul popularului utilitarul de e-mail pine (marc nregistrat a Universitii din Washington), fiind extrem de rspndit n mediul universitar. 5.2 Editorul vi

Editorul vi este folosit pentru a crea sau modifica fiiere text sau ASCII (American Standard Code for Information Interchange), fiind un editor bazat pe caracter, parte integrant a sistemului de operare UNIX. Editorul vi utilizeaz ca mediu de afiare ecranul monitorului fr a se putea utiliza mouse-ul pentru deplasarea cursorului pe ecran; toate deplasrile cursorului se fac cu ajutorul tastelor. Operaia de editare n cadrul editorului vi se face prin intermediul unei memorii tampon sau buffer, iar modificrile fcute asupra textului pot fi salvate sau nu. Editorul vi opereaz doar asupra fiierelor text simple, fr caracteristici speciale de formatare (cum ar fi cele create de un editor de genul Word for Windows). Cu toate c utilizarea vi-ului este destul de dificil, utilizatorii experimentai i administratorii de sisteme UNIX trebuie

UNIX

s cunoasc acest editor. De asemenea, este foarte util i pentru utilizatorii mai puin experimentai s cunoasc (mcar) funcionalitile de baz ale editorului vi, avnd n vedere c acesta este parte integrant a sistemului de operare UNIX i multe aplicaii folosesc acest utilitar n mod implicit. Pentru administratorii de sistem ns, cunoaterea editorului vi are o importan major, deoarece exist cazuri n care acest editor reprezint unica posibilitate de editare a fiierelor de configurare a sistemului. Editorul vi este utilizat i atunci cnd se lucreaz la distan pe alt sistem UNIX, avnd n vedere c vi este disponibil pe toate variantele de UNIX. 5.2.1 Modurile de lucru n vi Pentru editorul vi exist trei moduri de lucru: modul comand, modul introducere i modul ultima-linie (last line). Toate comenzile disponibile n vi pot fi clasificate n unul dintre aceste trei moduri de lucru. Caracteristicile de baz ale celor trei moduri de lucru sunt urmtoarele: Modul comand - este modul iniial de lucru folosit pentru crearea i editarea fiierelor, poziionarea cursorului i modificarea textului deja existent. Toate comenzile se introduc plecnd de la acest mod de lucru. Apsarea tastei <ESC> din unul din celelalte dou moduri de lucru determin trecerea n modul comand; Modul introducere (sau editare) - este utilizat pentru introducerea de text. Introducerea unei comenzi de genul i (pentru inserare), a (pentru adugare) sau o (pentru deschiderea unei linii noi) determin trecerea din modul comand n modul introducere. Apsarea tastei <ESC> determin ntoarcerea n modul comand. Comenzile de introducere sunt date fr a se apsa dup ele tasta <ENTER>; Modul ultima-linie - este folosit pentru salvarea documentului editat i pentru ieirea din vi. Apsarea tastei : determin trecerea n acest mod de lucru. Apsarea tastei <ENTER> sau a tastei <ESC> determin trecerea n modul comand. Modul comand este modul iniial de lucru al editorului vi. n momentul pornirii editorului vi, automat se intr n modul comand. n acest mod de lucru se pot introduce fie comenzi pentru poziionarea cursorului n cadrul fiierului, fie comenzi de editare pentru inserarea de noi caractere sau modificarea coninutului deja existent. Pentru a ajunge din modul introducere n modul ultima-linie sau invers, trebuie s trecem mai nti prin modul comand. Toate comenzile sunt iniiate din modul comand.

Editoare de text

Apsarea tastei <ESC> ne plaseaz mereu n modul comand, de aceea putem utiliza tasta <ESC> n cazul n care nu tim n ce mod de lucru ne aflm. Modul introducere (editare) reprezint modul n care trebuie s ne aflm pentru a introduce text. Pentru introducerea de text, trebuie s dm o comand (prin simpla apsare a unei taste) cum ar fi i (insert - inserare), o (open new line - linie nou) sau a (append - adugare). Introducerea unei dintre comenzile anterioare determin trecerea din modul comand n modul introducere. n acest mod putem introduce noi caractere n textul iniial, apoi putem apsa tasta <ESC> pentru a ne ntoarce n modul comand. Modul ultima-linie este modul n care putem ajunge prin apsarea tastei :, ceea ce determin poziionarea cursorului pe ultima linie a ecranului (de aici provine i denumirea acestui mod de lucru). Modificrile fcute asupra fiierului sunt meninute ntr-o memorie tampon pn n momentul n care acestea sunt salvate pe disc. Utiliznd modul ultima-linie, putem salva periodic modificrile fcute asupra fiierului fie rmnnd n vi, fie salvnd i prsind editorul. De asemenea, se poate iei din editor fr a salva modificrile fcute. Modul ultima-linie este folosit i pentru a cuta iruri de caractere sau pentru a seta anumite preferine de editare. 5.2.2 Deschiderea fiierelor i comenzi de editare Editorul vi reprezint o aplicaie ce se pornete de la linia de comand UNIX. Ori de cte ori pornim editorul vi, deschidem un fiier. Putem specifica de la nceput fiierul ce se va deschide, fie putem deschide un fiier nou pe care l vom salva ulterior pe disc. Sintaxa general a comenzii vi este urmtoarea:
$ vi [optiuni] [nume_fisier]

unde att opiunile, ct i numele fiierului pot aprea sau nu. Paii de baz n utilizarea editorului vi sunt: deschiderea unui nou fiier sau a unuia deja existent; introducerea de text nou, modificarea textului deja existent sau adugarea de text; salvarea fiierului pe disc; ieirea din vi.

UNIX

Editorul vi poate fi apelat fie prin comanda vi nume_fisier, fie prin vedit, care pornete editorul vi cu modul show activat, n care n colul din dreapta jos al ecranului se afieaz modul de introducere curent (inserare, adugare sau line nou). n modul comand nu se va fia nimic. Modul show poate fi activat prin introducerea comenzii set showmode n dreptul caracterului : din modul ultima-linie. Comenzi de introducere O dat cu pornirea editorului vi i specificarea unui nume de fiier (sau nu) se poate introduce text n acel fiier. Pentru a introduce text, trebuie utilizate o serie de comenzi de introducere, comenzi ce sunt apelate din modul comand. n modul inserare sau introducere, pentru a folosi alte comenzi de inserare trebuie s ne ntoarcem n modul comand prin apsarea tastei <ESC>. Comenzile de inserare de baz sunt: a (adugare de text dup cursor), A (adugare de text la sfritul liniei), i (inserare de text naintea cursorului) i o (introducerea unei noi linii sub linia pe care se afl cursorul). Comenzi de baz pentru poziionarea cursorului n vi
Tabelul 5.1
Comanda j (sgeat n jos) k (sgeat n sus) h (sgeat stnga) l (sgeat dreapta) Tasta <SPACE> w b $ 0 sau ^ Tasta <RETURN> Semnificaie Deplasare o linie n jos Deplasare o linie n sus Deplasare cu un caracter la stnga Deplasare cu un caracter la dreapta Deplasare la dreapta cu un caracter Deplasare la dreapta cu un cuvnt Deplasare la stnga cu un cuvnt Deplasare la sfritul liniei Deplasare la nceputul liniei Deplasare la nceputul liniei urmtoare

Editoare de text

Salvarea fiierului i ieirea din vi Pentru a salva fiierul i a iei din editorul vi, trebuie mai nti s ne poziionm n modul de lucru ultima-linie prin apsarea tastei :. Pentru a salva fiierul este de ajuns s tastm :w. Dac dorim s salvm fiierul cu alt nume, vom introduce comanda :w nume_nou_fisier. Pentru a salva fiierul i a iei din vi, se poate tasta fie :wq, fie ZZ (direct din modul comand). Dac dorim s ieim din fiier fr s salvm modificrile fcute, putem introduce comanda :q!. n cazul n care se deschide un fiier read-only (poate fi doar citit, nu i modificat) care se dorete a fi modificat, se pot salva modificrile fcute prin introducerea comenzii :wq! (write-quit). Dac se dorete renunarea la toate modificrile fcute de la ultima salvare, se poate folosi comanda :e! (erase) care terge modificrile din buffer i ncepe editarea din nou. Observaie. n notaiile de mai sus apariia caracterului special : semnific faptul c suntem poziionai n modul de lucru ultima-linie. Comenzi de baz pentru tergerea textului n vi
Tabelul 5.2
Comanda x dw 5dw dd 2dd 3x Semnificaie Se terge caracterul din dreptul cursorului Se terge cuvntul (sau partea din cuvnt) situat la dreapta cursorului Se terg 5 cuvinte la dreapta Se terge ntraga linie pe care este poziionat cursorul Se terg 2 linii ncepnd cu linia curent Se terg 3 caractere ncepnd cu cel din dreptul cursorului

Comenzi de poziionare a cursorului n vi Comenzile de poziionare a cursorului sunt utilizate n modul comand n momentul n care se dorete deplasarea cursorului n cadrul textului de editat. Pentru poziionarea cursorului se pot folosi tastele cu sgei direcionale (stnga-dreapta, sus-jos) dar se pot folosi i combinaii mai rapide de taste. n tabelul 5.1 sunt prezentate o serie de combinaii de taste pentru poziionarea cursorului pe ecran.

UNIX

tergerea textului n vi tergerea caracterelor deja introduse se face din modul comand. n prealabil se face poziionarea pe caracterele ce se doresc a fi terse, apoi se utilizeaz comenzile de tergere din tabelul 5.2. Comenzile fac distincie ntre litere mari i litere mici i se introduc fr a mai apsa tasta <ENTER>. Modificarea textului, anularea comenzii anterioare, copiere i alipire de text n vi n tabelul 5.3 sunt prezentate comenzile de baz pentru modificare, anularea comenzii anterioare (undo), copiere i alipire de text. Operaia de copiere (copy) se mai numete i yank iar cea de alipire (paste) se mai numete i put n vi. Comenzi de baz pentru copiere, alipire, modificare i anulare n vi
Tabelul 5.3
Comanda cw Semnificaie Are ca efect modificarea cuvntului (sau a prii din cuvnt) de la cursor pn la sfritul cuvntului. Se poziioneaz cursorul n locul de unde dorim s ncepem modificarea, apoi se apas cw, se introduce noul cuvnt i se apas n final tasta <ESC> Se modific 5 cuvinte Se nlocuiete caracterul pe care este poziionat cursorul cu alt caracter Are ca efect anularea ultimei comenzi terge, apoi alipete (paste) Copiaz, apoi alipete Copiaz o linie Alipete linia copiat sau tears sub linia curent Alipete linia copiat sau tears deasupra liniei curente

5cw r u dd, apoi p yy, apoi p yy p P

Editoare de text

5.3

Editorul pico

5.3.1 Generaliti Editorul pico este un editor de texte mai puin complicat de utilizat dect editorul vi, fiind integrat n celebrul program de pot electronic pine, dezvoltat la Universitatea din Washington. Uneori, nainte de intrarea n editorul pico trebuie setat tipul de terminal folosit (dac se utilizeaz un terminal vt100, atunci se poate utiliza comanda export TERM=vt100 pentru setarea tipului de terminal). Pornirea editorului se face simplu, introducnd la linia de comand:
$ pico [nume_fisier]

5.3.2 Operaii de baz Editorul pico ofer o bar de meniu cu cele mai utilizate comenzi n partea de jos a ecranului, dup cum se poate vedea n figura 5.4.

Figura 5.4 Ecranul editorului pico

UNIX

Inserarea textului Pentru a insera text n ecranul de editare pico, se ncepe pur i simplu introducerea textului, fr a se mai introduce alt comand (ca n cazul editorului vi). Pico insereaz textul introdus de la tastatur la stnga cursorului, deplasnd la dreapta textul existent (dac acesta exist). De fiecare dat cnd cursorul ajunge la captul rndului, caracteristica word wrap (desprirea pe linii) a editorului determin deplasarea cursorului la nceputul liniei urmtoare. Deplasarea cursorului Deplasarea cursorului se poate face prin intermediul tastelor direcionale (cu sgei) sau prin utilizarea combinaiilor de taste: Ctrl+f (forward - nainte), Ctrl+b (back - napoi), Ctrl+n (next - linia urmtoare) sau Ctrl+p (previous - linia anterioar). tergerea textului Caracterul de la stnga cursorului se terge cu tasta <BACKSPACE>, <DELETE> sau prin combinaia Ctrl+h. Pentru a terge caracterul de deasupra cursorului se apas Ctrl+d. Pentru tergerea liniei curente se apas Ctrl+k. Salvarea documentului Pentru a salva fiierul pe disc, se apas Ctrl+o. Pico afieaz numele fiierului curent, iar pentru salvarea fiierului cu alt nume trebuie ters vechiul nume i introdus numele dorit, apoi se apas tasta <RETURN>. Refacerea ecranului n cazul n care pe ecranul pico apar caractere ciudate, refacerea ecranului se face prin combinaia Ctrl+L.

Editoare de text

Ieirea din program Pentru a iei din editorul pico, se apas Ctrl+x. Dac au fost fcute unele modificri dup ultima salvare, pico va afia un mesaj prin care ntreab dac se dorete salvarea modificrilor. Se poate tasta y (yes - da) dac se dorete salvarea sau n (no - nu) dac nu se dorete salvarea. n momentul introducerii tastei y, pico afieaz numele fiierului, care poate fi modificat. Comenzile de baz ale editorului pico se gsesc n tabelul 5.5. 5.3.3 Alte faciliti Cutarea textului Cutarea irurilor de caractere se face n pico ncepnd de la poziia curent a cursorului spre sfritul fiierului. Pentru a ncepe cutarea se apas Ctrl+w (whereis - unde este). Pico va cere introducerea textului cutat. Pentru a ncepe cutarea, se introduce textul cutat i se apas <ENTER>. Pico va deplasa cursorul n locul n care se gsete prima apariie a textului cutat. Cutarea se poate repeta prin apsarea din nou a combinaiei Ctrl+w. Alinierea textului n momentul introducerii de text pe ecran, facilitatea word wrap a editorului pico ncepe o nou linie ori de cte ori este cazul. Uneori trebuie s aliniem textul introdus; pentru a re-alinia paragraful, trebuzie s poziionm cursorul pe paragraful respectiv i s apsm combinaia Ctrl+j. Anularea acestei aciuni i aducerea paragrafului la forma iniial se face prin combinaia Ctrl+u.

UNIX

Comenzi de baz n editorul pico


Tabelul 5.5
Comanda Ctrl+f Ctrl+b Ctrl+p Ctrl+n Ctrl+a Ctrl+e Ctrl+v Ctrl+y Ctrl+w Ctrl+l Ctrl+d Ctrl+^ Ctrl+k Ctrl+u Ctrl+i Ctrl+j Ctrl+t Ctrl+r Ctrl+o Ctrl+g Ctrl+x Efect Deplasarea cursorului nainte cu un caracter Deplasarea cursorului napoi cu un caracter Deplasarea cursorului pe linia anterioar Deplasarea cursorului pe linia urmtoare Deplasarea cursorului la nceputul liniei curente Deplasarea cursorului la sfritul liniei curente Deplasarea cursorului nainte cu o pagin Deplasarea cursorului napoi cu o pagin Caut text Reafieaz ecranul pico terge un caracter de la poziia cursorului ncepe selectarea textului ncepnd cu poziia cursorului Taie (cut) textul selectat sau linia curent Alipete (paste) ultimul text tiat la poziia cursorului Insereaz un tab n poziia cursorului Aliniaz paragraful curent Corectarea semantic Insereaz (read - citete) coninutul unui fiier la cursor Salveaz (output) fiierul Vizualizarea help-ului Se iese din pico, cu salvarea fiierului

Funcii de tiere i alipire Pentru a tia o linie cu ajutorul editorului pico trebuie s ne poziionm pe linia respectiv i s apsm Ctrl+k. Ne putem apoi poziiona n locul unde dorim alipirea liniei tiate. Alipirea se face cu ajutorul combinaiei Ctrl+u. De asemenea, se pot face tieri i alipiri (cut i paste)

Editoare de text

cu blocuri de text (nu doar linii ntregi). Aceast operaie presupune parcurgerea urmtorilor pai: 1. se mut cursorul pe primul caracter al textului ce urmeaz a fi tiat; 2. se apas Ctrl+^ pentru a ncepe marcarea; 3. se utilizeaz tastele direcionale pentru a selecta textul dorit; 4. se apas Ctrl+k pentru tierea textului; 5. se mut cursorul n locul unde dorim inserarea textului tiat; 6. se apas Ctrl+u pentru a alipi textul n noua poziie. Inserarea unui fiier text existent Pentru a insera coninutul unui fiier deja existent n poziia specificat de cursor, se va apsa Ctrl+r, iar pico va cere introducerea unui nume de fiier. Se poate introduce direct numele fiierului i apoi se apas <ENTER>, fie se poate apsa Ctrl+t pentru a selecta un nume dintr-o list de fiiere disponibile n directorul curent de lucru. Combinaia Ctrl+t determin apariia unui File Browser, n care putem folosi tastele direcionale pentru selectarea fiierului dorit i apoi se apas <ENTER>. Se poate selecta directorul printe (..) pentru a ne muta un nivel mai sus n structura de directoare. n afara faptului c se poate insera text, acest browser de fiiere poate fi folosit pentru a redenumi, terge sau copia un fiier. Pentru a iei din File Browser se apas tasta e. Refacerea editrii n cazul n care o sesiune pico se bocheaz, pico ncearc s salveze o copie a fiierului asupra cruia se lucra. Acest fiier salvat de pico se afl n directorul curent de lucru, avnd extensia .save. Ajutor Pentru vizualizarea paginilor de ajutor se va folosi combinaia Ctrl+g.

You might also like