Sunteți pe pagina 1din 11

5

1. Editoare de text
Editoare de text

5.1 Introducere

În acest capitol sunt prezentate două editoare de text ce pot fi


utilizate pentru scrierea fişierelor de tip text, implicit pentru scrierea
programelor de tip shell-script. Primul editor este editorul „clasic” al UNIX-
ului, ce se numeşte vi (visual editor - pronunţat 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 fişiere de configurare, fişiere de tip
shell-script sau modifica fişiere de configurare a sistemului legate de reţea,
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 facilităţi puternice. Editorul pico este editorul popularului utilitarul
de e-mail pine (marcă înregistrată a Universităţii din Washington), fiind
extrem de răspândit în mediul universitar.

5.2 Editorul vi

Editorul vi este folosit pentru a crea sau modifica fişiere 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 afişare ecranul monitorului fără a se putea
utiliza mouse-ul pentru deplasarea cursorului pe ecran; toate deplasările
cursorului se fac cu ajutorul tastelor.
Operaţia de editare în cadrul editorului vi se face prin intermediul
unei memorii tampon sau buffer, iar modificările făcute asupra textului pot
fi salvate sau nu. Editorul vi operează doar asupra fişierelor text simple, fără
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 experimentaţi şi administratorii de sisteme UNIX trebuie
UNIX

să cunoască acest editor. De asemenea, este foarte util şi pentru utilizatorii


mai puţin experimentaţi să cunoască (măcar) funcţionalităţile de bază ale
editorului vi, având în vedere că acesta este parte integrantă a sistemului de
operare UNIX şi multe aplicaţii folosesc acest utilitar în mod implicit.
Pentru administratorii de sistem însă, cunoaşterea editorului vi are o
importanţă majoră, deoarece există cazuri în care acest editor reprezintă
unica posibilitate de editare a fişierelor de configurare a sistemului. Editorul
vi este utilizat şi atunci când se lucrează la distanţă pe alt sistem UNIX,
având î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 următoarele:
ƒ Modul comandă - este modul iniţial de lucru folosit pentru
crearea şi editarea fişierelor, poziţionarea cursorului şi
modificarea textului deja existent. Toate comenzile se introduc
plecând de la acest mod de lucru. Apăsarea 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 adăugare) sau o (pentru deschiderea
unei linii noi) determină trecerea din modul comandă în modul
introducere. Apăsarea tastei <ESC> determină întoarcerea în
modul comandă. Comenzile de introducere sunt date fără a se
apăsa după ele tasta <ENTER>;
ƒ Modul ultima-linie - este folosit pentru salvarea documentului
editat şi pentru ieşirea din vi. Apăsarea tastei „:” determină
trecerea în acest mod de lucru. Apăsarea tastei <ENTER> sau a
tastei <ESC> determină trecerea în modul comandă.
Modul comandă este modul iniţial 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 poziţionarea cursorului în
cadrul fişierului, fie comenzi de editare pentru inserarea de noi caractere sau
modificarea conţinutului deja existent. Pentru a ajunge din modul
introducere în modul ultima-linie sau invers, trebuie să trecem mai întâi prin
modul comandă. Toate comenzile sunt iniţiate din modul comandă.
Editoare de text

Apăsarea 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
aflăm.
Modul introducere (editare) reprezintă modul în care trebuie să ne
aflăm pentru a introduce text. Pentru introducerea de text, trebuie să dăm o
comandă (prin simpla apăsare a unei taste) cum ar fi i (insert - inserare), o
(open new line - linie nouă) sau a (append - adăugare). Introducerea unei
dintre comenzile anterioare determină trecerea din modul comandă în modul
introducere. În acest mod putem introduce noi caractere în textul iniţial,
apoi putem apăsa tasta <ESC> pentru a ne întoarce în modul comandă.
Modul ultima-linie este modul în care putem ajunge prin apăsarea
tastei “:”, ceea ce determină poziţionarea cursorului pe ultima linie a
ecranului (de aici provine şi denumirea acestui mod de lucru). Modificările
făcute asupra fişierului sunt menţinute într-o memorie tampon până în
momentul în care acestea sunt salvate pe disc. Utilizând modul ultima-linie,
putem salva periodic modificările făcute asupra fişierului fie rămânând în vi,
fie salvând şi părăsind editorul. De asemenea, se poate ieşi din editor fără a
salva modificările făcute. Modul ultima-linie este folosit şi pentru a căuta
şiruri de caractere sau pentru a seta anumite preferinţe de editare.

5.2.2 Deschiderea fişierelor şi comenzi de editare

Editorul vi reprezintă o aplicaţie ce se porneşte de la linia de


comandă UNIX. Ori de căte ori pornim editorul vi, deschidem un fişier.
Putem specifica de la început fişierul ce se va deschide, fie putem deschide
un fişier nou pe care îl vom salva ulterior pe disc. Sintaxa generală a
comenzii vi este următoarea:

$ vi [optiuni] [nume_fisier]

unde atât opţiunile, cât şi numele fişierului pot apărea sau nu.
Paşii de bază în utilizarea editorului vi sunt:
ƒ deschiderea unui nou fişier sau a unuia deja existent;
ƒ introducerea de text nou, modificarea textului deja existent sau
adăugarea de text;
ƒ salvarea fişierului pe disc;
ƒ ieşirea din vi.
UNIX

Editorul vi poate fi apelat fie prin comanda vi nume_fisier, fie prin


vedit, care porneşte editorul vi cu modul „show” activat, în care în colţul din
dreapta jos al ecranului se afişează modul de introducere curent (inserare,
adăugare sau line nouă). În modul comandă nu se va fişa 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 fişier


(sau nu) se poate introduce text în acel fişier. 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
apăsarea tastei <ESC>. Comenzile de inserare de bază sunt: a (adăugare de
text după cursor), A (adăugare de text la sfârşitul liniei), i (inserare de text
înaintea cursorului) şi o (introducerea unei noi linii sub linia pe care se află
cursorul).

Comenzi de bază pentru poziţionarea cursorului în vi

Tabelul 5.1
Comanda Semnificaţie
j (săgeată în jos) Deplasare o linie în jos
k (săgeată în sus) Deplasare o linie în sus
h (săgeată stânga) Deplasare cu un caracter la stânga
l (săgeată dreapta) Deplasare cu un caracter la dreapta
Tasta <SPACE> Deplasare la dreapta cu un caracter
w Deplasare la dreapta cu un cuvânt
b Deplasare la stânga cu un cuvânt
$ Deplasare la sfârşitul liniei
0 sau ^ Deplasare la începutul liniei
Tasta <RETURN> Deplasare la începutul liniei următoare
Editoare de text

Salvarea fişierului şi ieşirea din vi

Pentru a salva fişierul şi a ieşi din editorul vi, trebuie mai întâi să ne
poziţionăm în modul de lucru ultima-linie prin apăsarea tastei „:”. Pentru a
salva fişierul este de ajuns să tastăm :w. Dacă dorim să salvăm fişierul cu alt
nume, vom introduce comanda :w nume_nou_fisier. Pentru a salva fişierul
şi a ieşi din vi, se poate tasta fie :wq, fie ZZ (direct din modul comandă).
Dacă dorim să ieşim din fişier fără să salvăm modificările făcute, putem
introduce comanda :q!. În cazul în care se deschide un fişier read-only
(poate fi doar citit, nu şi modificat) care se doreşte a fi modificat, se pot
salva modificările făcute prin introducerea comenzii :wq! (write-quit). Dacă
se doreşte renunţarea la toate modificările făcute de la ultima salvare, se
poate folosi comanda :e! (erase) care şterge modificările din buffer şi începe
editarea din nou.

Observaţie. În notaţiile de mai sus apariţia caracterului special „:”


semnifică faptul că suntem poziţionaţi în modul de lucru ultima-linie.

Comenzi de bază pentru ştergerea textului în vi

Tabelul 5.2
Comanda Semnificaţie
x Se şterge caracterul din dreptul cursorului
dw Se şterge cuvântul (sau partea din cuvânt) situat la
dreapta cursorului
5dw Se şterg 5 cuvinte la dreapta
dd Se şterge întraga linie pe care este poziţionat cursorul
2dd Se şterg 2 linii începând cu linia curentă
3x Se şterg 3 caractere începând cu cel din dreptul
cursorului

Comenzi de poziţionare a cursorului în vi

Comenzile de poziţionare a cursorului sunt utilizate în modul


comandă în momentul în care se doreşte deplasarea cursorului în cadrul
textului de editat. Pentru poziţionarea cursorului se pot folosi tastele cu
săgeţi direcţionale (stânga-dreapta, sus-jos) dar se pot folosi şi combinaţii
mai rapide de taste. În tabelul 5.1 sunt prezentate o serie de combinaţii de
taste pentru poziţionarea cursorului pe ecran.
UNIX

Ştergerea textului în vi

Ştergerea caracterelor deja introduse se face din modul comandă. În


prealabil se face poziţionarea pe caracterele ce se doresc a fi şterse, apoi se
utilizează comenzile de ştergere din tabelul 5.2. Comenzile fac distincţie
între litere mari şi litere mici şi se introduc fără a mai apăsa 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. Operaţia de
copiere (copy) se mai numeşte şi yank iar cea de alipire (paste) se mai
numeşte şi put în vi.

Comenzi de bază pentru copiere, alipire,


modificare şi anulare în vi

Tabelul 5.3
Comanda Semnificaţie
cw Are ca efect modificarea cuvântului (sau a părţii din
cuvânt) de la cursor până la sfârşitul cuvântului. Se
poziţionează cursorul în locul de unde dorim să începem
modificarea, apoi se apasă cw, se introduce noul cuvânt şi
se apasă în final tasta <ESC>
5cw Se modifică 5 cuvinte
r Se înlocuieşte caracterul pe care este poziţionat cursorul
cu alt caracter
u Are ca efect anularea ultimei comenzi
dd, apoi p Şterge, apoi alipeşte (paste)
yy, apoi p Copiază, apoi alipeşte
yy Copiază o linie
p Alipeşte linia copiată sau ştearsă sub linia curentă
P Alipeşte linia copiată sau ştearsă deasupra liniei curente
Editoare de text

5.3 Editorul pico

5.3.1 Generalităţi

Editorul pico este un editor de texte mai puţin complicat de utilizat


decât editorul vi, fiind integrat în celebrul program de poştă 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, introducând la linia de comandă:

$ pico [nume_fisier]

5.3.2 Operaţii 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, fără a se mai introduce altă comandă (ca în
cazul editorului vi). Pico inserează textul introdus de la tastatură la stânga
cursorului, deplasând la dreapta textul existent (dacă acesta există). De
fiecare dată când cursorul ajunge la capătul rândului, caracteristica word
wrap (despărţirea pe linii) a editorului determină deplasarea cursorului la
începutul liniei următoare.

Deplasarea cursorului

Deplasarea cursorului se poate face prin intermediul tastelor


direcţionale (cu săgeţi) sau prin utilizarea combinaţiilor de taste: Ctrl+f
(forward - înainte), Ctrl+b (back - înapoi), Ctrl+n (next - linia următoare)
sau Ctrl+p (previous - linia anterioară).

Ştergerea textului

Caracterul de la stânga cursorului se şterge cu tasta


<BACKSPACE>, <DELETE> sau prin combinaţia 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 fişierul pe disc, se apasă Ctrl+o. Pico afişează numele


fişierului curent, iar pentru salvarea fişierului 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 combinaţia Ctrl+L.
Editoare de text

Ieşirea din program

Pentru a ieşi din editorul pico, se apasă Ctrl+x. Dacă au fost făcute
unele modificări după ultima salvare, pico va afişa un mesaj prin care
întreabă dacă se doreşte salvarea modificărilor. Se poate tasta y (yes - da)
dacă se doreşte salvarea sau n (no - nu) dacă nu se doreşte salvarea.
În momentul introducerii tastei y, pico afişează numele fişierului, care poate
fi modificat.
Comenzile de bază ale editorului pico se găsesc în tabelul 5.5.

5.3.3 Alte facilităţi

Căutarea textului

Căutarea şirurilor de caractere se face în pico începând de la poziţia


curentă a cursorului spre sfârşitul fişierului. Pentru a începe căutarea se
apasă Ctrl+w (whereis - unde este). Pico va cere introducerea textului
căutat. Pentru a începe căutarea, se introduce textul căutat şi se apasă
<ENTER>. Pico va deplasa cursorul în locul în care se găseşte prima
apariţie a textului căutat. Căutarea se poate repeta prin apăsarea din nou a
combinaţiei Ctrl+w.

Alinierea textului

În momentul introducerii de text pe ecran, facilitatea „word wrap” a


editorului pico începe o nouă linie ori de cîte ori este cazul. Uneori trebuie
să aliniem textul introdus; pentru a re-alinia paragraful, trebuzie să
poziţionăm cursorul pe paragraful respectiv şi să apăsăm combinaţia Ctrl+j.
Anularea acestei acţiuni şi aducerea paragrafului la forma iniţială se face
prin combinaţia Ctrl+u.
UNIX

Comenzi de bază în editorul pico

Tabelul 5.5
Comanda Efect
Ctrl+f Deplasarea cursorului înainte cu un caracter
Ctrl+b Deplasarea cursorului înapoi cu un caracter
Ctrl+p Deplasarea cursorului pe linia anterioară
Ctrl+n Deplasarea cursorului pe linia următoare
Ctrl+a Deplasarea cursorului la începutul liniei curente
Ctrl+e Deplasarea cursorului la sfârşitul liniei curente
Ctrl+v Deplasarea cursorului înainte cu o pagină
Ctrl+y Deplasarea cursorului înapoi cu o pagină
Ctrl+w Caută text
Ctrl+l Reafişează ecranul pico
Ctrl+d Şterge un caracter de la poziţia cursorului
Ctrl+^ Începe selectarea textului începând cu poziţia cursorului
Ctrl+k Taie (cut) textul selectat sau linia curentă
Ctrl+u Alipeşte (paste) ultimul text tăiat la poziţia cursorului
Ctrl+i Inserează un tab în poziţia cursorului
Ctrl+j Aliniază paragraful curent
Ctrl+t Corectarea semantică
Ctrl+r Inserează (read - citeşte) conţinutul unui fişier la cursor
Ctrl+o Salvează (output) fişierul
Ctrl+g Vizualizarea help-ului
Ctrl+x Se iese din pico, cu salvarea fişierului

Funcţii de tăiere şi alipire

Pentru a tăia o linie cu ajutorul editorului pico trebuie să ne


poziţionăm pe linia respectivă şi să apăsăm Ctrl+k. Ne putem apoi poziţiona
în locul unde dorim alipirea liniei tăiate. Alipirea se face cu ajutorul
combinaţiei Ctrl+u. De asemenea, se pot face tăieri şi alipiri (cut şi paste)
Editoare de text

cu blocuri de text (nu doar linii întregi). Această operaţie presupune


parcurgerea următorilor paşi:
1. se mută cursorul pe primul caracter al textului ce urmează a fi
tăiat;
2. se apasă Ctrl+^ pentru a începe marcarea;
3. se utilizează tastele direcţionale pentru a selecta textul dorit;
4. se apasă Ctrl+k pentru tăierea textului;
5. se mută cursorul în locul unde dorim inserarea textului tăiat;
6. se apasă Ctrl+u pentru a alipi textul în noua poziţie.
Inserarea unui fişier text existent

Pentru a insera conţinutul unui fişier deja existent în poziţia


specificată de cursor, se va apăsa Ctrl+r, iar pico va cere introducerea unui
nume de fişier. Se poate introduce direct numele fişierului şi apoi se apasă
<ENTER>, fie se poate apăsa Ctrl+t pentru a selecta un nume dintr-o listă
de fişiere disponibile în directorul curent de lucru. Combinaţia Ctrl+t
determină apariţia unui File Browser, în care putem folosi tastele
direcţionale pentru selectarea fişierului dorit şi apoi se apasă <ENTER>. Se
poate selecta directorul părinte (..) pentru a ne muta un nivel mai sus în
structura de directoare. În afara faptului că se poate insera text, acest
browser de fişiere poate fi folosit pentru a redenumi, şterge sau copia un
fişier. Pentru a ieşi din File Browser se apasă tasta e.

Refacerea editării

În cazul în care o sesiune pico se bochează, pico încearcă să salveze


o copie a fişierului asupra căruia se lucra. Acest fişier salvat de pico se află
în directorul curent de lucru, având extensia .save.

Ajutor

Pentru vizualizarea paginilor de ajutor se va folosi combinaţia


Ctrl+g.

S-ar putea să vă placă și