Poliekrannyj redaktor tekstov red (rukovodstvo programmista)
Proizvodstvenno-vnedrencheskij kooperativ
"I N T E R F E J S"
Dialogovaya Edinaya Mobil'naya
Operacionnaya Sistema
Demos/P 2.1
Poliekrannyj redaktor tekstov
red
(rukovodstvo programmista)
Moskva
1988
2
ANNOTACIYA
Opisan poliekrannyj dialogovyj redaktor tekstov red (versiya
3.3). Privedena instrukciya po rabote v redaktore, a takzhe
pravila opisaniya terminalov novyh tipov dlya podklyucheniya ih k
red.
2
3
1. VVEDENIE
|krannyj redaktor red rabotaet pod upravleniem operaci-
onnoj sistemy DEMOS i prednaznachen dlya prosmotra i izmeneniya
tekstovyh fajlov DEMOS v ekrannom rezhime. On imeet sleduyushchie
osobennosti:
- dlya vvoda komand shiroko ispol'zuetsya funkcional'naya
klaviatura i upravlyayushchie klavishi terminala;
- vozmozhna rabota s neskol'kimi fajlami odnovremenno;
- vozmozhno obrazovanie na ekrane terminala neskol'kih
"okon" i odnovremennyj prosmotr neskol'kih fajlov;
- vozmozhno avtomaticheskoe vosstanovlenie redakcij posle
sboya |VM;
- redaktor dinamicheski nastraivaetsya na terminal;
- imeyutsya makroperemennye dlya hraneniya fragmentov teksta,
naborov komand redaktora i t.p.;
- imeetsya vozmozhnost' pereopredeleniya funkcional'noj kla-
viatury i vvedeniya novyh funkcional'nyh klavish;
- vozmozhno ispol'zovanie "vneshnih" komand, to est' komand
operacionnoj sistemy DEMOS.
2. OBSHCHEE OPISANIE REDAKTORA
2.1. Osnovnye principy redaktirovaniya.
Pri rabote red ispol'zuet ves' ekran terminala. Na ekrane
vydelyaetsya neskol'ko razlichnyh oblastej. Osnovnuyu chast'
zanimaet "okno" otobrazheniya fajla, obvedennoe ramkoj, samaya
nizhnyaya stroka ostavlyaetsya dlya vvoda "parametrov komand"
redaktora i dlya vydachi soobshchenij. V etoj zhe stroke vysvechi-
vaetsya nomer stroki i imya redaktiruemogo fajla (risunok 1).
Pri neobhodimosti "okno" mozhno podelit' na neskol'ko
men'shih okon i izobrazit' v nih raznye fajly ili raznye
chasti odnogo fajla. Kazhdoe "okno" pokazyvaet chast' zakrep-
lennogo za nim fajla.
Dlya peremeshcheniya kursora vnutri okna ispol'zuyutsya klavishi
so strelkami i nadpisyami <RETURN> (<VK>), <HOME>, <TAB>; pri
nabore teksta na tekstovoj klaviature on prosto vvoditsya v
fajl v mesto, ukazyvaemoe kursorom. Dlya bolee slozhnyh ope-
racij sluzhat "komandy" redaktora red, kotorye vvodyatsya s
pomoshch'yu funkcional'noj klaviatury i, v chastnosti, pozvolyayut:
- 3 -
4
____________________________________________________________
|kran terminala
............................................
. ---------------------------------------- .
. : : .
. : : .
. : : .
. : <okno> : .
. : : .
. : : .
. : : .
. : : .
. : : .
. ---------------------------------------- .
. Arg:<parametry> Fajl:a Str: 10 .
............................................
Ris. 1
____________________________________________________________
- dvigat' "okno" vverh, vniz, vpravo, vlevo po fajlu;
- unichtozhat', vstavlyat' ili peremeshchat' fragmenty teksta
kak vnutri odnogo fajla, tak i mezhdu raznymi fajlami;
- pereklyuchat' "okna" s fajla na fajl, zapisyvat' fajly v
arhiv, sozdavat' novye "okna";
- osushchestvlyat' poisk strok po kontekstu.
Pri etom na ekrane izobrazhaetsya tekushchee sostoyanie redak-
tiruemyh fajlov.
Komandy redaktora vvodyatsya pri pomoshchi funkcional'nyh kla-
vish i oboznachayutsya v dannom dokumente tak:
<NAZVANIE KOMANDY>.
Redaktor nakaplivaet informaciyu ob izmeneniyah vo vremen-
nom bufere. Po okonchanii redaktirovaniya izmenennye fajly
perepisyvayutsya obratno v arhiv. Pri neobhodimosti mozhno
prervat' seans redaktirovaniya, ne zapominaya izmenenij.
Redaktor zapominaet imena fajlov i sostoyanie ekrana i pri
povtornom vyzove red mozhno prodolzhit' redaktirovanie tochno
s prervannogo mesta. Redaktor vedet takzhe protokol raboty,
pozvolyayushchij prakticheski polnost'yu povtorit' process redakti-
rovaniya v sluchae sboya.
- 4 -
5
2.2. Vyzov redaktora
Dlya redaktirovaniya fajla imya , nachinaya so stroki nomer,
neobhodimo nabrat' komandu:
red imya [nomer]
V kvadratnye skobki [] vzyaty neobyazatel'nye parametry,
zhirnym shriftom vydeleny komandy sistemy, podcherknuty para-
metry komandy.
Redaktor schitaet i vysvetit fajl imya , prichem kursor
ustanovitsya na stroku nomer (Po umolchaniyu kursor ustanavli-
vaetsya na 11-yu stroku fajla). Posle etogo mozhno prosmatri-
vat' i redaktirovat' fajl. V konce raboty vvoditsya komanda
<EXIT>, dlya etogo nuzhno nazhat' klavishi <Line Feed><Del
(<PS><ZB> v russkoj notacii), i izmeneniya budut zapisany na
disk.
Mozhno prodolzhit' redaktirovanie s togo mesta, gde ono
bylo okoncheno poslednij raz. Dlya etogo sluzhit komanda (1):
red
V sluchae sboya sistemy ili redaktora seans redaktirovaniya
mozhno vosproizvesti s pomoshch'yu komandy:
red -
Pri vyzove red mozhno takzhe ukazyvat' "rezhimy" raboty redak-
tora:
red -[-klyuchi][+klyuchi] ostal'nye parametry
podrobnee o rezhimah raboty skazano v razdele 4.
2.3. Ispol'zovanie klaviatury i vvod komand redaktora
V dannom razdele opisany pravila vvoda komand i ispol'zo-
vaniya klaviatury pri rabote s redaktorom red, a takzhe izob-
razhenie simvolov iz fajla na ekrane terminala. Dlya vvoda
komand redaktora, kak pravilo, ispol'zuetsya dopolnitel'naya
cifrovaya klaviatura, kotoraya razmeshchena sprava ot osnovnoj
klaviatury. Tak, komanda <+PAGE> vvoditsya nazhatiem klavishi
____________________
1) Pri vyzove red mozhet okazat'sya, chto redaktoru ne dos-
tupny harakteristiki vashego terminala. V etom sluchae pered
pervym vyzovom redaktora vvedite komandu (v interpretatore
csh):
setenv TERM Tip_terminala
- 5 -
6
7, a komanda <ARG> - klavishej 1. Esli predpolagaetsya
ispol'zovat' dlya raboty s red terminal, kotoryj imeet polnyj
nabor propisnyh i strochnyh russkih i latinskih bukv i dopol-
nitel'nuyu klaviaturu, nikakih slozhnostej s vvodom ne vozni-
kaet - terminal pozvolyaet vvodit' vse simvoly koda KOI-8 i
ispol'zovat' dopolnitel'nuyu klaviaturu dlya vvoda komand. V
etom sluchae mozhno perehodit' k chteniyu sleduyushchego paragrafa.
Nekotorye slozhnosti voznikayut pri rabote na terminalah, ne
imeyushchih polnogo nabora simvolov libo dopolnitel'noj cifrovoj
klaviatury.
Uslovno klaviaturu lyubogo terminala mozhno razdelit' po
funkciyam na sleduyushchie chasti:
1) Klavishi, ne vyrabatyvayushchie kodov (takie, kak SHIFT,
ROLL i t.p.). iz nih nas interesuet tol'ko klavisha
CTRL (ili US), kotoraya vyzyvaet pri odnovremennom nazha-
tii osnovnoj klavishi klaviatury vyrabotku upravlyayushchih
kodov ("control-simvoly");.
2) Osnovnaya klaviatura - soderzhit simvoly koda ASCII ili
KOI-8. V zavisimosti ot nabora etih simvolov termi-
naly mozhno razdelit' na tri gruppy:
- Terminal mozhet otobrazhat' tol'ko latinskie (propis-
nye i strochnye) bukvy i vse special'nye simvoly
koda ASCII;
- Terminal mozhet otobrazhat' tol'ko propisnye russkie
i latinskie bukvy;
- Terminal mozhet izobrazhat' russkie i latinskie
strochnye i propisnye bukvy i vse special'nye sim-
voly, to est' vse simvoly koda KOI-8 (naprimer,
terminal "|lektronika-15-I|-0013");
3) Obshcheprinyatye upravlyayushchie klavishi:
- strelki vlevo, vpravo, vverh, vniz;
- RETURN (Vozvrat Karetki);
LINE FEED (Perevod Stroki);
TAB (Tabulyaciya);
HOME (Kursor v nachalo ekrana);
4) Dopolnitel'naya funkcional'naya klaviatura, obychno sovme-
shchennaya s cifrovoj (naprimer, terminal "|lektronika-15-
I|-0013" imeet gruppu klavish s nadpisyami 0 - 9, kotorye
v zavisimosti ot rezhima raboty yavlyayutsya libo obychnymi
simvolami '0'-'9', libo vyrabatyvayut upravlyayushchie
- 6 -
7
posledovatel'nosti kodov i mogut ispol'zovat'sya kak
funkcional'nye klavishi; na terminalah serii VTA 2000
klavishi 0 - 9 vyrabatyvayut upravlyayushchie kody pri odnov-
remennom nazhatii na klavishu UPR);
5) Dopolnitel'nye upravlyayushchie klavishi, naprimer IL, DL,
IC, DC, ERASE, - na VDT-52100c ili analogichnye klavishi
na drugih terminalah.V avtonomnom rezhime oni obychno
redaktiruyut tekst na ekrane terminala.
Dlya raboty v red dostatochno ispol'zovat' osnovnuyu klavia-
turu i obshcheprinyatye upravlyayushchie klavishi. Dlya uproshcheniya vvoda
komand mozhno ispol'zovat' funkcional'nuyu klaviaturu libo
dopolnitel'nye upravlyayushchie simvoly, esli oni est' na vashem
terminale.
2.3.1. Otobrazhenie informacii
Redaktor rasschitan na rabotu s tekstami, soderzhashchimi
strochnye i propisnye russkie i latinskie bukvy v kode KOI-8,
dopuskayutsya takzhe simvoly s kodami, ne imeyushchimi graficheskogo
izobrazheniya. V zavisimosti ot vozmozhnostej terminala, neko-
torye simvoly fajla mogut izobrazhat'sya na ekrane v vide dvuh
i bolee simvolov:
1) Simvoly s kodami 0 - 037 izobrazhayutsya v vide pary sim-
volov: simvola "zaboj" (svetlyj pryamougol'nik) i grafi-
cheskogo simvola, kod kotorogo v "KOI-8" raven kodu
ishodnogo plyus 0100. (|to odin iz simvolov @, A-Z,[,],
\ , _,^); Esli na terminale net simvola "zaboj", vysve-
chivaetsya @ libo nestandartnyj simvol, vybrannyj sistem-
nym programmistom pri nastrojke redaktora na terminal.
2) Esli terminal ne imeet propisnyh bukv, to otsutstvuyushchie
simvoly izobrazhayutsya sleduyushchim obrazom:
"strochnye bukvy" - propisnymi bukvami
"propisnye bukvy" - \propisnaya bukva
"\" - \\,
"~ (til'da)" - \^ (\`nadcherk')
"` (obratnaya kavychka)" - \'
"} (zakr.figurnaya skobka)" - \)
"{ (otkr.figurnaya skobka)" - \(
"| (vertikal'naya cherta)" - \!
3) Esli terminal ne imeet russkih bukv, to oni izobrazha-
yutsya paroj simvolov #latinskaya bukva, prichem propisnym
"A"- "YA" sootvetstvuyut propisnye "A"-"Q", a strochnym -
strochnye "a"-"q" v sootvetstvii s kodom "KOI-8";
4) Simvoly 0200 - 0277 i 0377 izobrazhayutsya posledovatel'-
nost'yu:
@kkk
- 7 -
8
gde kkk - trehznachnyj kod simvola, a "@" - "zaboj" libo
sootvetstvuyushchij emu simvol .
Simvol "Zaboj" (kod 0177) izobrazhaetsya kak
@#
2.3.2. Vvod informacii s klaviatury
Vvod teksta s klaviatury prakticheski ne zavisit ot tipa
terminala.
1) Special'nye simvoly (probel, zapyataya i t.d.) s kodami
040 - 077 vvodyatsya obychnym obrazom;
2) Latinskij registr vklyuchaetsya pri nazhatii klavish CTRL/O
(klavisha LAT na terminalah "|lektronika"). Na latins-
kom registre vvodyatsya propisnye i strochnye bukvy (pro-
pisnye v verhnem (na VTA 2000 -LAT) registre klaviatury
i strochnye - v nizhnem (na VTA 2000 -RUS)), special'nye
simvoly \, [, ] i drugie simvoly koda KOI-8 s kodami ot
0100 do 0176;
3) Russkij registr vklyuchaetsya nazhatiem CTRL/N (klavisha RUS
na terminalah "|lektronika"). Posle etogo vvodyatsya v
zavisimosti ot registra klaviatury russkie propisnye
ili strochnye bukvy;
4) Priznak negraficheskogo simvola ("zaboj" na ekrane) vvo-
ditsya komandoj <ESCAPE> (CTRL/A libo 2. na dopolnitel'-
noj klaviature).
2.3.3. Vvod komand v redaktor red
Dlya upravleniya redaktirovaniem, prosmotra fajlov i drugih
dejstvij ispol'zuyutsya komandy redaktora red, kotorye identi-
ficiruyutsya komandami, vvodimymi s klaviatury. Komandy vvo-
dyatsya nazhatiem 1 ili 2-h upravlyayushchih ili funkcional'nyh kla-
vish. V zavisimosti ot konkretnogo terminala, oni mogut vvo-
dit'sya odnim iz neskol'kih sposobov:
1) Esli na terminale est' dopolnitel'naya cifrovaya klavia-
tura, to lyubuyu komandu mozhno vvesti nazhatiem odnoj ili
dvuh klavish na nej, naprimer 1 - komanda <ARG>, a 29 -
komanda <PUT>. Pri etom klavisha 2 sluzhit dlya izmeneniya
smysla sleduyushchej komandy (esli nazhat' 9, to vvedetsya
komanda <PICK>).
2) Esli etoj klaviatury net, to vmesto Cifra nuzhno nazhat'
Line FeedCifra (na osnovnoj klaviature), a vmesto
2Cifra - Line Feed Line Feed Cifra.
- 8 -
9
3) Mnogie komandy mozhno takzhe vvodit' cherez control-
simvoly, naprimer, CTRL/T - komanda <+LINE>.
4) Naibolee upotrebitel'nye komandy mogut takzhe byt' vve-
deny cherez upravlyayushchie ili funkcional'nye klavishi; ih
znachenie zavisit ot tipa terminala. Tak, klavishi PF2 i
PF3 na bol'shinstve terminalov vyzyvayut komandy <OPEN> i
<CLOSE>.
Komandy, upravlyayushchie dvizheniem kursora, vvodyatsya tol'ko s
upravlyayushchej klaviatury (strelki, RETURN, TAB, HOME).
2.4. Okna i redaktiruemye fajly
Redaktor pokazyvaet uchastok redaktiruemogo fajla na
ekrane terminala v "okne". Imya fajla, kotoryj nuzhno redakti-
rovat' pervym, ukazyvaetsya v parametrah vyzova red. Mozhno
perejti k drugomu fajlu, vospol'zovavshis' komandoj <USE>.
Krome togo, redaktor avtomaticheski podklyuchaet psevdo-fajl
"#", v kotorom zapominayutsya vse otmechennye ili isklyuchennye
stroki.
"Okno" mozhno razdelit' na neskol'ko men'shih "okon" s
pomoshch'yu komandy <M-PORT>, otobraziv v kazhdom uchastok togo
ili inogo fajla (ris.2). Dlya uproshcheniya pereklyucheniya s fajla
na fajl lyuboe "okno" mozhet byt' svyazano takzhe s "al'terna-
tivnym fajlom". Komanda <USE> bez parametrov menyaet mestami
osnovnoj i al'ternativnyj fajly v tekushchem okne. Pri vhode v
redaktor al'ternativnym yavlyaetsya fajl /usr/lib/re.std ,
soderzhashchij kratkoe opisanie redaktora.
Dlya unichtozheniya okon sluzhit komanda <ARG><M-PORT>. Izme-
neniya, proizoshedshie v fajle, povtoryayutsya odnovremenno vo
vseh "oknah", svyazannyh s nim.
Sredi vseh "okon" imeetsya "tekushchee", v kotorom nahoditsya
kursor. Levye i pravye simvoly-ogranichiteli nesut sleduyushchuyu
informaciyu:
sleva:
; - dannoj stroki v fajle net;
! - stroka est' v fajle i "okno" nachinaetsya s 1 kolonki
fajla;
< - "okno" nachinaetsya ne s 1 kolonki fajla, a sdvinuto
po fajlu vpravo;
sprava:
! - v stroke net informacii sprava ot okna;
- 9 -
10
____________________________________________________________
Primer "okon"
.....................................
.-----------------------------------.
.! !! !.
.! tekushchee !! eshche odno !.
.! "okno" !! "okno" !.
.! !! !.
.!dlinnaya stroka>! !.
.! !! !.
.! !! !.
.; !! !.
.; !! !.
.-----------------------------------.
.arg: file: a line 10 .
.....................................
Ris. 2
____________________________________________________________
> - stroka prodolzhaetsya za pravuyu granicu "okna".
Vse izmeneniya, sdelannye na ekrane, zapominayutsya i pri
vyhode iz redaktora po komande <EXIT> (ili po komande
<ARG>q<RETURN>) izmenennye fajly zapisyvayutsya v arhiv. Pri
etom starye varianty fajlov pereimenovyvayutsya putem dobavle-
niya suffiksa .b, i v rezul'tate takzhe sohranyayutsya v arhive.
Imeetsya vozmozhnost' zapisat' fajl pod tekushchim ili pod novym
imenem v arhiv eshche v processe redaktirovaniya (komanda
<SAVE>), a takzhe vyjti iz redaktora bez zapisi izmenennyh
fajlov, vvedya <ARG>qa<RETURN>.
2.5. Peremennye i makrokomandy
V processe redaktirovaniya chasto voznikaet neobhodimost'
vremenno zapomnit' tochku redaktirovaniya, tekst ili nabor
komand i zatem mnogokratno ih ispol'zovat'. Dlya etogo v
redaktore red sluzhat peremennye. Imeetsya 26 peremennyh s
imenami ot a do z (imya sostoit iz odnoj latinskoj bukvy), v
kotoryh mozhno hranit' sleduyushchuyu informaciyu:
- zapominat' polozhenie kursora v fajle i zatem ispol'zo-
vat' ego dlya vozvrata v nuzhnuyu tochku libo dlya ukazaniya
odnoj iz granic oblasti fajla v komandah <CLOSE>,
<OPEN>, <PICK>;
- 10 -
11
- zapominat' tekst dlya ispol'zovaniya ego v komande
<PICK>;
- zapominat' posledovatel'nost' komand i teksta, to est'
makrokomandu.
Vyzov peremennoj oboznachaetsya kak imya, a zapis' v nee -
>imya,
gde imya - latinskaya malaya bukva. V nekotoryh komandah
peremennaya oboznachaetsya bez simvolov $ ili >.
2.6. Izmenenie rezhimov raboty redaktora
Rezhimy raboty redaktora red opredelyaetsya neskol'kimi klyu-
chami, kazhdyj iz kotoryh identificiruetsya bukvoj latinskogo
alfavita i mozhet byt' vklyuchen ili vyklyuchen. Klyuchi ustanavli-
vayutsya po umolchaniyu (v zavisimosti ot vozmozhnostej terminala
i peremennyh okruzheniya SHELL) i mogut byt' izmeneny pol'zo-
vatelem. Vklyuchennye klyuchi oznachayut sleduyushchee:
e - na terminale net russkih bukv;
l - na terminale net strochnyh bukv;
t - pri zapisi strok zamenyat' nachal'nye probely tabulyaci-
yami;
w - razresheno izmenenie tekushchego fajla;
i - rezhim vstavki;
s - razresheno pol'zovat'sya apparatnymi funkciyami sdviga
teksta na ekrane;
f - zapret sdviga ekrana pri dostizhenii kursorom ego gra-
nicy pri vvode;
a - special'nyj rezhim AVTOSDVIG, pri kotorom po komande
<RETURN> kursor ustanavlivaetsya ne na 1-yu kolonku
ekrana, a na tu kolonku, s kotoroj byl nachat vvod
teksta poslednij raz (eta kolonka ukazyvaetsya v nizh-
nej stroke okna special'nym kursorom).
Klyuchi ustanavlivayutsya avtomaticheski pri vyzove redaktora
i mogut byt' izmeneny sleduyushchimi sposobami:
1) Pri vyzove redaktora:
red [-[-klyuchi][+klyuchi]] ostal'nye argumenty
Klyuchi, ukazannye posle -, sbrasyvayutsya, posle + - usta-
navlivayutsya, naprimer:
- 11 -
12
red --t a.mx
2) CHerez peremennuyu sh ili csh REDKEYS v forme:
setenv REDKEYS [-klyuchi][+klyuchi]
(dlya csh);
3) Komandoj redaktora:
<ARG>[-klyuchi][+klyuchi]<RETURN>
Po umolchaniyu ustanavlivaetsya klyuch t, klyuchi l, s i e usta-
navlivayutsya v zavisimosti ot vozmozhnostej terminala.
Klyuch w ispol'zuetsya dlya zapreta ili razresheniya zapisi v
tekushchij fajl. Ego imeet smysl ispol'zovat' dlya redaktirova-
niya zakrytyh na zapis' fajlov v sluchae, esli zapis' v spra-
vochnik razreshena. Sleduet uchityvat', chto pri otmene klyucha w
otmenyaetsya takzhe avtomaticheskaya zapis' dannogo fajla pri
vyhode iz redaktora.
2.7. CHto delat' pri sboe
Redaktor red obespechivaet dvojnuyu zashchitu ot poteri
informacii. Vo pervyh, pri zapisi fajla staroe soderzhimoe
sohranyaetsya pod imenem staroe_imya.b. Vo vtoryh, redaktor pri
rabote vedet protokol raboty v fajle /tmp/rettnn.name, gde
nn - dva poslednih simvola imeni terminala, a name - identi-
fikator pol'zovatelya. Esli proizojdet sboj mashiny libo
redaktora, mozhno povtorit' seans komandoj:
red -
Proizojdet povtorenie vsego seansa raboty, za isklyucheniem
odnogo - dvuh poslednih vvedennyh s terminala simvolov,
posle chego upravlenie peredastsya na klaviaturu i vy smozhete
prodolzhit' redaktirovanie. V sluchae, esli sboj proizoshel v
moment zapisi fajla ili v processe redaktirovaniya ispol'zo-
valsya komanda <SAVE> bez parametrov, pered povtoreniem
seansa neobhodimo vosstanovit' ishodnoe sostoyanie redaktiru-
emyh fajlov, skopirovav ih pri neobhodimosti iz fajlov s
suffiksom .b.
- 12 -
13
3. KOMANDY REDAKTORA red
Komandy red identificiruyutsya komandnymi posledovatel'-
nostyami i mogut byt' vvedeny kak s parametrami, tak i bez
parametrov:
<KOMANDA>
<ARG>parametry<KOMANDA>
Zdes' i dalee uglovymi skobkami oboznacheny komandy redak-
tora, kotorye vvodyatsya s upravlyayushchej klaviatury.
3.1. Vvod parametrov <ARG>
V sluchae komandy s parametrami snachala vvoditsya komanda
<ARG>, zatem parametry i zatem sootvetstvuyushchaya komanda.
Tak, naprimer, dlya podvoda k 100 stroke neobhodimo:
1) vvesti komandu <ARG> (naprimer, nazhav klavishu `1');
2) nabrat' parametr (v dannom sluchae chislo 100);
3) vvesti komandu <GOTO> (naprimer, nazhav `4').
Sokrashchenno eto zapisyvaetsya tak:
<ARG>100<GOTO>
Parametry byvayut treh tipov:
1) Proizvol'nyj tekst (naprimer, imya fajla ili stroka dlya
poiska);
2) CHislovoj (naprimer, nomer stroki);
3) Ukazatel' chasti fajla. |tot parametr vstrechaetsya v
komandah, kotorye zapominayut, razdvigayut ili unichtozhayut
tekst. Dlya ukazaniya uchastka na ekrane neobhodimo:
- podvesti kursor na nachalo ukazyvaemogo uchastka;
- vvesti komandu <ARG>;
- klavishami so strelkami podvesti kursor k koncu
oblasti. Pri etom vydaetsya soobshchenie:
* * * ukazanie kursorom * * *
- vvesti komandu (naprimer, <PICK>).
- 13 -
14
Dlya dvizheniya kursora mozhno ispol'zovat' klavishi so
strelkami, <RETURN>, <TAB>, <BACK-TAB>. Oblast', ukazan-
naya kursorom, zavisit ot nachal'nogo i konechnogo polozhe-
nij kursora:
- Esli nachal'naya kolonka sovpadaet s konechnoj, to
komanda dejstvuet na stroki mezhdu nachal'noj i
konechnoj strokami vklyuchitel'no;
- Esli nachal'naya stroka sovpadaet s konechnoj, to
komanda dejstvuet na uchastok etoj stroki.
- V protivnom sluchae oblast'yu dejstviya yavlyaetsya
pryamougol'naya oblast' mezhdu nachal'nym i konechnym
polozheniyami kursora.
Esli nuzhno ukazat' uchastok fajla, kotoryj ne umeshchaetsya na
ekrane, to ego nachalo (ili konec) zapominayut v kakoj-libo
peremennoj (ustanavlivayut kursor i vvodyat
<ARG>>imya<RETURN>), podvodyat kursor k koncu (ili k nachalu
sootvetstvenno) ukazyvaemogo uchastka i vvodyat komanda:
<ARG>$imya<RETURN> Rezul'tat ravnosilen ukazaniyu kursorom
uchastka fajla ot tochki, zapomnennoj v peremennoj "imya" do
tekushchego polozheniya kursora. V komandah <OPEN>, <CLOSE>,
<PICK> mozhno srazu vvodit' sootvetstvuyushchuyu komandu bez
<RETURN>.
Pri vvode parametrov vydaetsya priglashenie "arg:", dlya
otmeny neverno nabrannyh simvolov sluzhit <DEL> (<ZB>).
3.2. Vosstanovlenie ekrana
Pri sluchajnom narushenii izobrazheniya na ekrane terminala
ego mozhno vosstanovit', nazhav:
CTRL/L
ili
<ARG>r<RETURN>
3.3. Dvizhenie kursora vnutri okna
3.3.1. Klavishi so strelkammi
Pri nazhatii na sootvetstvuyushchuyu klavishu kursor peremeshcha-
etsya na odnu poziciyu:
<strelka vverh> - vverh;
<strelka vniz> - vniz;
<strelka vpravo> - vpravo;
- 14 -
15
________________________________________________________
Primer ukazaniya oblasti
..................................
. okno .
. nach.polozhenie .
. 1*************** .
. **oblast'******* .
. **dejstviya****** .
. ****************2 .
. kon. .
. polozhenie .
..................................
..................................
. okno .
. nach.polozhenie .
.*****1**************************.
.*******oblast'****na vsyu********.
.*******dejstviya****shirinu*******.
.*****2**************************.
. kon. .
. polozhenie .
..................................
..................................
. okno .
. nach.polozhenie .
. 1***************2 .
. kon. .
. polozhenie .
..................................
(simvol 1 vhodit v oblast', 2 - net)
Ris. 3
________________________________________________________
<strelka vlevo> - vlevo.
Na granice "okna" proishodit avtomaticheskij sdvig okna po
fajlu, esli tol'ko ne ustanovlen klyuch "f".
3.3.2. Komandy <HOME> i <RETURN>
<HOME>
- kursor perehodit v levyj verhnij ugol okna videniya;
<RETURN>
- kursor perehodit na nachalo sleduyushchej stroki. Esli
stroka byla poslednej, "okno" peremeshchaetsya vniz po
- 15 -
16
fajlu. Esli ono nachinalos' ne s 1 kolonki fajla, ono
sdvinetsya na pervuyu kolonku;
<ARG>komanda<RETURN>
- vvod direktivy redaktora ;
3.3.3. Tabulyaciya (<tab>, <b-tab>, <set-tab>)
<TAB>
- Tabulyaciya. Kursor peremeshchaetsya na ocherednuyu poziciyu
tabulyacii. Po umolchaniyu eto - 9, 13, 25, 33, 31, 49,
57, 65 i 73 kolonki;
<B-TAB>
- tabulyaciya nazad. Polnost'yu analogichno <TAB>, no kur-
sor dvizhetsya nazad. Po umolchaniyu - klavisha `.';
<SET-TAB>
- ustanavlivaet novuyu poziciyu tabulyacii v tekushchej
kolonke. Po umolchaniyu vvoditsya nazhatiem na 2 klavishi
- `2'`5';
<ARG><SET-TAB>
- snimaet poziciyu tabulyacii v tekushchej kolonke;
3.4. Redaktirovanie vnutri stroki
3.4.1. Vvod teksta. Rezhim vstavki (<INSERT>)
Esli v redaktiruemyj fajl razreshena zapis', to simvoly,
nabiraemye na klaviature, popadayut v tekushchij fajl tak, kak
eto izobrazhaetsya na ekrane. Pri dostizhenii kursorom pravoj
granicy ekrana on avtomaticheski sdvigaetsya na 30 kolonok
vpravo. Pri dostizhenii kursorom 72 kolonki fajla vydaetsya
predupreditel'nyj zvukovoj signal.
Dlya vstavki simvolov sluzhit rezhim vstavki "INSERT". V
etom rezhime pri nabore simvolov stroka razdvigaetsya. Dlya
vklyucheniya i vyklyucheniya rezhima sluzhit komanda:
<INSERT>
- vklyuchit'/vyklyuchit' rezhim vstavki. Po umolchaniyu eto -
klavisha `5';
3.4.2. Unichtozhenie simvolov (<DEL-CH> i <BACKSPACE>)
Dlya unichtozheniya simvolov vnutri stroki sluzhat dve
komandy:
<DEL-CH>
- unichtozhaetsya tekushchij simvol, pravaya chast' stroki
sdvigaetsya vlevo na 1 poziciyu. Po umolchaniyu - klavisha
`6';
- 16 -
17
<B-SPACE>
- otmenyaet predydushchij simvol; v rezhime vstavki stroka
uplotnyaetsya. Dejstvuet i pri vvode parametrov. Po
umolchaniyu - klavishi `DEL' ili `BackSpace'.
3.4.3. Vvod netekstovyh simvolov (<ESCAPE>)
Netekstovymi (negraficheskimi) yavlyayutsya simvoly s kodami
0-037, 0177-0277,, 0377. Dlya ih vvoda v fajl sluzhit speci-
al'nyj "ESCAPE"-simvol, kotoryj preobrazuet sleduyushchij za nim
simvol v netekstovyj.
Dlya vvoda simvola s kodom 0-037 neobhodimo:
- vvesti komandu <ESCAPE> (po umolchaniyu CTRL/A);
- vvesti sootvetstvuyushchij "CTRL"-simvol libo propis-
nuyu latinskuyu bukvu, libo vos'merichnyj kod sim-
vola i zatem CTRL/L.
Na ekrane poyavitsya para simvolov: svetlyj kvadratik (libo
simvol ego zamenyayushchij) i tekstovyj simvol. Pri zapisi v fajl
eta para zamenitsya na odin simvol s kodom <simvol>&037, gde
"&"- "porazryadnoe logicheskoe umnozhenie", to est' bukve "A"
sootvetstvuet kod 01 i tak dalee.
Dlya vvoda simvolov s kodami 0200-0277 i 0377:
- vvedite <ESCAPE> (CTRL/A);
- vvedite trehznachnyj kod simvola.
Simvol <Zaboj> (0177) vvoditsya kak <ESCAPE>#.
3.5. Peremeshchenie po fajlu
3.5.1. Zapominanie mesta v fajle
<ARG>>imya<RETURN>
Tekushchee polozhenie kursora zapominaetsya v peremennoj
"imya". Zatem eta peremennaya mozhet byt' ispol'zovana v
komandah <OPEN>, <CLOSE>, <PICK>, <GOTO>.
3.5.2. Podvod k stroke (<GOTO>)
V redaktore stroki teksta schitayutsya pronumerovannymi pod-
ryad, nachinaya s 1. Dlya podvoda k nuzhnoj stroke sluzhit
komanda <GOTO> (po umolchaniyu klavisha `4').
<GOTO>
- podvod k nachalu fajla;
- 17 -
18
<ARG><GOTO>
- podvod k koncu fajla;
<ARG>N<GOTO>
- podvod k stroke nomer "N" (N - celoe chislo);
<ARG>$imya<GOTO>
- podvod k mestu v fajle, zapomnennomu pod imenem "imya"
("imya" - odna latinskaya bukva);
Nomer tekushchej stroki vydaetsya na nizhnej stroke ekrana.
3.5.3. Listovanie fajla (<+PAGE>, <-PAGE>, <+LINE>, <-
LINE>)
Stranicej schitaetsya chast' fajla, umeshchayushchayasya v tekushchem
okne na ekrane.
<+PAGE>
- peremeshchaet okno na 1 stranicu vniz po fajlu; po
umolchaniyu klavisha `7';
<-PAGE>
- peremeshchaet okno na 1 stranicu vverh; po umolchaniyu
klavishi `2'`7';
<ARG>N<-PAGE>
peremeshchaet okno vniz (vverh) na N stranic.
Dlya peremeshcheniya okna s tochnost'yu do stroki sluzhat komandy
<+/-LINE>; (CTRL/T/CTRL/W):
<ARG>N<+LINE>
- vpered na N strok;
<ARG>N<-LINE>
- nazad na N strok;
<+LINE>
- vpered na 1 stroku, esli terminal podderzhivaet appa-
ratnyj sdvig teksta na ekrane, ili na 8 strok v pro-
tivnom sluchae;
<-LINE>
- nazad na 1 stroku (8, esli net apparatnogo sdviga) ;
<ARG><+LINE>
- Sdvinut' "okno" vniz tak, chtoby tekushchaya stroka stala
pervoj na ekrane;
<ARG><+LINE>
- Sdvinut' "okno" vverh tak, chtoby tekushchaya stroka stala
poslednej na ekrane;
- 18 -
19
3.5.4. Sdvig okna vpravo/vlevo (<RIGHT> i <LEFT>)
<RIGHT>
- sdvinut' "okno" vpravo na 30 kolonok; po umolchaniyu
`2'<strelka vpravo>.
<LEFT>
sdvinut' "okno" vlevo na 30 kolonok; po umolchaniyu
`2'<strelka vlevo>.
<ARG>N<RIGHT>
- sdvinut' "okno" vpravo na N kolonok;
<ARG>N<LEFT>
- sdvinut' "okno" vlevo na N kolonok;
Komanda <RIGHT> vypolnyaetsya avtomaticheski, esli pri
nabore teksta kursor dostig pravuyu granicu ekrana. Po
komande <RETURN> okno avtomaticheski ustanavlivaetsya na 1-yu
kolonku fajla.
3.5.5. Peremeshchenie s pomoshch'yu strelok
Okno mozhno dvigat' po fajlu s pomoshch'yu klavish so strel-
kami: esli ne ustanovlen klyuch f (po umolchaniyu) i kursor
"upiraetsya" v granicu okna, pri ocherednom nazhatii na klavishu
dvizheniya kursora okno sdvinetsya v nuzhnuyu storonu.
3.6. Kontekstnyj poisk (<+SEARCH>, <-SEARCH>)
Komandy <+/-SEARCH> (po umolchaniyu `3' i `2'`3') vyzyvayut
poisk zadannogo obraza v fajle sootvetstvenno vpered ili
nazad ot tekushchego mesta. Dlya ukazaniya teksta, kotoryj nuzhno
najti, sluzhat komandy:
<ARG>tekst<+SEARCH>
<ARG>tekst<-SEARCH>
proizvoditsya poisk ukazannogo teksta v fajle vpered
(nazad) ot tekushchego polozheniya v fajle. Esli tekst naj-
den, eto mesto v fajle vysvechivaetsya na ekrane i kursor
ustanavlivaetsya na nachalo najdennogo teksta, inache
vydaetsya predupreditel'noe soobshchenie:
"search key not found"
"Tekst ne najden"
Dlya prodolzheniya poiska dannogo obraza dostatochno vvesti
odnu iz komand:
<+SEARCH> ili <-SEARCH>
- 19 -
20
3.7. CHtenie i zapis' fajlov (<USE>, <SAVE>)
Komanda <USE> (CTRL/D, ili `-') sluzhit dlya pereklyucheniya
redaktora s fajla na fajl. Dlya perehoda k redaktirovaniyu
novogo fajla sluzhit komanda:
<ARG>imya<USE>
nachat' redaktirovat' fajl imya.
Pri etom vozmozhny sleduyushchie sluchai:
1) Fajl sushchestvuet, dostupen i ne vhodit v chislo faj-
lov, kotorye uzhe redaktirovalis' v dannom seanse
raboty. V etom sluchae redaktor podklyuchaet ego i
vysvechivaet v tekushchem "okne", a ranee redaktirovav-
shijsya fajl stanovitsya "al'ternativnym";
2) Fajl uzhe redaktirovalsya v dannom seanse raboty
(hotya, vozmozhno, i ne pokazyvaetsya ni v odnom okne
na ekrane terminala). V etom sluchae fajl otobrazha-
etsya na ekrane so vsemi uzhe vnesennymi izmeneniyami.
Otmetim, chto redaktor ne chitaet fajl iz arhiva
zanovo. Tekushchij fajl stanovitsya "al'ternativnym";
3) Fajl ne sushchestvuet. Redaktor prosit podtverdit'
neobhodimost' sozdaniya novogo fajla:
"Create (y/n)?"
("Sozdat'(y/n)?")
v sluchae polozhitel'nogo otveta sozdaetsya novyj
fajl.
Komanda <USE> bez parametrov pereklyuchaet redaktor na al'-
ternativnyj fajl. V chastnosti, v nachale seansa on mozhet
ispol'zovat'sya dlya polucheniya spravochnoj informacii iz fajla
/usr/lib/re.std
<SAVE>
- zapis' tekushchego fajla v arhiv (`2'`-' ili CTRL/V po
umolchaniyu). Pri etom ishodnyj variant fajla pereime-
novyvaetsya v "staroe imya.b". Posle vypolneniya <SAVE>
bez parametrov dlya povtoreniya seansa v sluchae sboya
neobhodimo vosstanovit' ishodnoe sostoyanie fajla iz
fajla imya.b, poskol'ku izmenilos' ishodnoe sostoyanie
redaktiruemyh fajlov.
<ARG>imya<SAVE>
Proishodit zapis' tekushchego fajla v fajl "imya".
Komanda <SAVE> avtomaticheski vypolnyaetsya dlya vseh izme-
nennyh v processe raboty fajlov pri vyhode iz redaktora po
- 20 -
21
komande <EXIT>.
3.7.1. Zapret i razreshenie zapisi v fajl
<ARG>+w<RETURN>
- zapretit' izmenenie tekushchego fajla;
<ARG>-w<RETURN>
- razreshit' izmenenie (i zapis', esli ona razreshena)
redaktiruemogo fajla.
3.8. Perenos, unichtozhenie i vstavka teksta
3.8.1. Komandy <OPEN> i <CLOSE>
Komanda <OPEN> (razdvinut') pozvolyaet vstavit' probely
mezhdu kolonkami, strokami ili v seredinu gruppy strok.
<OPEN>
- pered tekushchej strokoj vstavlyaetsya pustaya stroka; po
umolchaniyu `8' ili PF2.
<ARG>n<OPEN>
- pered tekushchej strokoj vstavlyaetsya "n" pustyh strok
(gde "n"-celoe polozhitel'noe chislo);
<ARG><OPEN>
- tekushchaya stroka delitsya na dve chasti, nachinaya s teku-
shchej kolonki;
<ARG>ukazanie_kursorom<OPEN>
<ARG>$imya<OPEN>
- v otmechennoe kursorom (ili kursorom i tochkoj, zapom-
nennoj v "imya") mesto vstavlyayutsya probely (ili pustye
stroki, esli otmechena gruppa strok celikom). Pravila
ukazaniya chasti fajla s pomoshch'yu kursora podrobno pri-
vedeny v opisanii komandy <ARG>.
Komanda <CLOSE> dejstvuet protivopolozhno komande <OPEN>,
ubiraya iz fajla sootvetstvuyushchuyu chast' teksta:
<CLOSE>
- unichtozhit' tekushchuyu stroku; po umolchaniyu `2'`8' ili
PF3.
<ARG>n<CLOSE>
- unichtozhit' "n" strok, nachinaya s tekushchej;
<ARG><CLOSE>
- skleit' tekushchuyu stroku so sleduyushchej, prichem sleduyushchaya
stroka prikleivaetsya nachinaya s tekushchej kolonki;
- 21 -
22
<ARG>ukazanie_kursorom<CLOSE>
<ARG>$imya<CLOSE>
- unichtozhaetsya ukazannyj kusok teksta libo gruppa strok
celikom. Pravila ukazaniya s pomoshch'yu kursora prive-
deny v razdele <ARG>.
Tekst, udalennyj s pomoshch'yu komandy <CLOSE>, popadaet v
konec psevdo-fajla "#" i mozhet byt' vstavlen obratno (libo v
drugoe mesto) s pomoshch'yu komandy:
<ARG><PUT>
- tekst, ubrannyj poslednej komandoj <CLOSE>, vstavlya-
etsya v tekushchee mesto fajla.
Psevdo-fajl "#" mozhno prosmotret', vvedya komandu:
<ARG>#<USE>
Dlya vozvrata v prezhnij fajl sluzhit komanda <USE>.
<ARG>>imya<CLOSE>
- tekst, ubrannyj poslednej komandoj <CLOSE>, zapomina-
etsya v peremennoj "imya".
3.8.2. Kopirovanie teksta (<PICK>, <PUT>)
Dlya kopirovaniya teksta ispol'zuyutsya dve komandy. Komanda
<PICK> (vybrat') pozvolyaet zapisat' v bufer vstavok kusok
teksta, kotoryj zatem mozhet byt' vstavlen v proizvol'noe
mesto po komande <PUT