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>. Vybrannyj tekst popadaet v konec
psevdo-fajla "#" i mozhet byt' prosmotren (<ARG>#<USE>) ili
vybran zanovo:
<PICK>
- vybrat' dlya vstavki tekushchuyu stroku; po umolchaniyu vvo-
ditsya klavishej `9'.
<ARG>n<PICK>
- vybrat' n strok, nachinaya s tekushchej;
<ARG>ukazanie_kursorom<PICK>
<ARG>$imya<PICK>
- vybrat' ukazannyj kursorom uchastok fajla (smotri opi-
sanie <ARG>).
Vybrannyj tekst zanositsya v tak nazyvaemyj "PICK"-bufer
(bufer vstavki);
<ARG>>imya<PICK>
- zapomnit' vybrannyj poslednej komandoj <PICK> tekst v
peremennoj "imya".
- 22 -
23
Dlya vstavki teksta v fajl ispol'zuyutsya komandy:
<PUT>
- (po umolchaniyu `2'`9'): vybrannyj ranee tekst vstavlya-
etsya v tekushchee mesto fajla. Pri etom, esli byla vyb-
rana gruppa strok celikom, proishodit vstavka strok,
inache tekst vstavlyaetsya v seredinu imeyushchihsya strok
(kotorye dlya etogo razdvigayutsya);
<ARG><PUT>
- rabotaet analogichno <PUT>, no vmesto "PICK"-bufera
ispol'zuetsya "CLOSE"-bufer, v kotorom zapominaetsya
tekst, isklyuchennyj iz fajla poslednej komandoj
<CLOSE>;
<ARG>$imya<PUT>
- tekst iz peremennoj "imya" ("imya" - odna bukva) vstav-
lyaetsya v fajl i stanovitsya tekushchim buferom vstavki.
3.9. Rabota s oknami (<M-PORT> i <CH-PORT>)
Na ekrane terminala mozhno sozdavat' novye "okna" i unich-
tozhat' starye. Dlya etogo sluzhit komanda <M-PORT> (sozdat'
"okno", klavishi `2'`4'). Novoe "okno" sozdaetsya v uzhe imeyu-
shchemsya putem deleniya ego na dve chasti. Esli kursor nahoditsya
v pervoj stroke "okna", to ono delitsya po vertikali. Esli
kursor stoit v pervoj kolonke okna, to delenie proishodit po
gorizontali. V ostal'nyh sluchayah vydaetsya soobshchenie ob
oshibke. Primery privedeny na risunkah 4 i 5.
____________________________________________________________
Delenie po gorizontali
Do komandy Posle komandy
------------------ ------------------
! ! ! staroe !
! ! ! okno !
!*-kursor ! !----------------!
! staroe ! ! novoe !
! okno ! ! okno !
! ! ! !
! ! ! !
------------------ ------------------
Ris. 4
____________________________________________________________
- 23 -
24
____________________________________________________________
Delenie po vertikali
Do komandy Posle komandy
------------------ -------------------
! *-kursor ! ! !! !
! ! ! staroe !! novoe !
! ! ! !! !
! staroe ! ! okno !! okno !
! okno ! ! !! !
! ! ! !! !
! ! ! !! !
------------------ -------------------
Ris 5.
____________________________________________________________
Maksimal'noe chislo okon na ekrane ravno 10.
Dlya sozdaniya i unichtozheniya okon ispol'zuyutsya sleduyushchie
komandy:
<M-PORT>
- sozdaetsya novoe okno, i v nem vysvechivaetsya fajl
/usr/lib/re.std;
<ARG>imya<M-PORT>
- Sozdaetsya novoe okno, i v nem vysvechivaetsya fajl
"imya". V tom, chto kasaetsya novogo fajla, komanda
polnost'yu analogichna komande <USE>;
<ARG><M-PORT>
- unichtozhit' okno, sozdannoe poslednim.
Esli odin fajl izobrazhen srazu v neskol'kih oknah, izme-
neniya v nem budut vysvechivat'sya odnovremenno vo vseh oknah.
Dlya perehoda iz okna v okno sluzhit komanda:
<CH-PORT>
(po umolchaniyu `0')
Neskol'kih okon celesoobrazno ispol'zovat' pri sravnenii
fajlov, chastichnom kopirovanii odnogo fajla v drugoj, pri
rabote s fajlami diagnostik ob oshibkah i v ryade drugih slu-
chaev.
- 24 -
25
3.10. Ispol'zovanie makrokomand
Posledovatel'nost' komand redaktora vmeste s lyubym teks-
tom, esli ih prihoditsya chasto povtoryat', mozhet byt' prisvo-
ena "peremennoj" redaktora red. Dlya zapisi makroopredeleniya
sluzhit komanda:
<ARG>d imya<RETURN>
(imya - odna bukva). Redaktor vydast priglashenie na vvod:
Mac:
Vvedennyj v otvet tekst i komandy redaktora zapishutsya v
peremennuyu imya. Redaktor otobrazhaet komandy na ekrane v
vide pary simvolov, ih kodirovka privedena v prilozhenii 2.
Priznakom konca vvoda yavlyaetsya komanda <EXIT> (klavishi
<LineFeed><Del>), dlya otmeny oshibochnyh simvolov ili komand
ispol'zuetsya komanda <B-SPACE> (klavisha <Del> ili <Back-
Space>).
Dlya vypolneniya makrokomandy dostatochno vvesti:
<LineFeed>$imya
to est' posledovatel'no nazhat' klavishi <LineFeed> (ili
<PS>), "$" i maluyu latinskuyu bukvu, kotoroj imenuetsya pere-
mennaya. Redaktor podstavlyaet soderzhimoe peremennoj vmesto
vvoda s terminala. Vypolnenie makro preryvaetsya, esli pri
vypolnenii zapisannoj v makro operacii poiska ne najden
iskomyj tekst. Pri neobhodimosti mozhno pereopredelit'
kakuyu-libo funkcional'nuyu klavishu terminala kak vyzov opre-
delennoj makrokomandy.
3.11. Pereopredelenie klaviatury
V redaktore imeetsya vozmozhnost' izmenit' dejstvie funkci-
onal'nyh i upravlyayushchih klavish terminala. Pri etom klavisha
mozhet oboznachat' kak lyubuyu komandu redaktora, tak i vypolne-
nie makrokomandy. Dlya etogo sluzhit komanda:
<ARG>k<RETURN>
Redaktor zaprashivaet:
Enter <new key>:
- 25 -
26
Nazhmite pereopredelyaemuyu klavishu i zatem klavishu <Del>
(<Zaboj>).
Redaktor zaprashivaet:
Enter <command> or <macro name>:
Vvedite komandu, imya makroperemennoj (maluyu latinskuyu
bukvu) ili priznak makroperemennoj "$". Esli vvedena komandy
redaktora, to pri nazhatii pereopredelyaemoj klavishi budet
vvodit'sya eta komanda. Esli vvedeno imya peremennoj, znache-
niem kotoroj dolzhna byt' makrokomanda, to klavisha budet
vyzyvat' etu makrokomandu. Esli byl vveden simvol "$", to
klavisha stanet priznakom makroperemennoj vmesto kombinacii
<Line Feed>$ (<Perevod Stroki>$).
3.12. Vypolnenie komand-fil'trov (komanda <EXEC>)
Takie poleznye operacii nad tekstami, kak sortirovka,
vyravnivanie paragrafov teksta, strukturizaciya tekstov prog-
ramm na "Si" i drugie, vypolnyayutsya komandami operacionnoj
sistemy DEMOS. Redaktor red pozvolyaet ispol'zovat' takie
komandy dlya pererabotki chasti fajla s pomoshch'yu komandy
<EXEC>. Naprimer, dlya kontekstnoj zameny int na short v oche-
rednyh 10 strokah fajla sluzhit komanda:
<ARG>10l rpl "int" "short"<EXEC>
Posle etogo v ocherednyh 10 strokah proizojdet zamena teksta
int na short, kotoruyu vypolnit komanda DEMOS "rpl", na-
pisannaya special'no dlya red. Mozhno vyzyvat' lyubye komandy,
kotorye mogut ispol'zovat'sya kak fil'tr. Naprimer:
cb - uluchshenie chitaemosti programmy na Si,
sort - sortirovka
Komanda <EXEC> mozhet vypolnyat'sya v odnom iz sleduyushchih forma-
tov:
<ARG><ch.p> <komanda> <s.p.><EXEC>
libo
<ARG>-<ch.c.><komanda> <s.p.><EXEC>
libo
<ARG><ch.s.>l <komanda> <s.p.><EXEC>
gde <ch.p.> - chislo paragrafov,
<ch.s.> - chislo strok,
<s.p.> - spisok parametrov.
- 26 -
27
Prichem <chislo strok> ili <spisok parametrov> mogut otsutst-
vovat'.
Pervyj (neobyazatel'nyj) argument formata opredelyaet chislo
strok libo paragrafov za tekushchej strokoj v fajle, kotorye
budut obrabatyvat'sya komandoj. Paragrafy - eto gruppy nepus-
tyh strok, razdelennye odnoj ili neskol'kimi pustymi stro-
kami. Celoe neotricatel'noe chislo ukazyvaet chislo paragra-
fov. esli chislo otricatel'no ili za nim sleduet bukva l -
ono ukazyvaet chislo strok. Esli pervyj argument opushchen, to
imeetsya v vidu 1 paragraf teksta. Takim obrazom, -15 ili 15l
zadayut 15 strok teksta, a 2 - 2 paragrafa.
Vtoroj argument - imya komandy operacionnoj sistemy, za
kotorym mogut idti ee argumenty, razdelennye probelami. Dlya
vklyucheniya probelov v argument mozhno ispol'zovat' kavychki ".
Dejstvie <EXEC> sostoit v tom, chto vyzyvaetsya ukazannaya
komanda operacionnoj sistemy s ukazannymi parametrami. Na
standartnyj vvod ej podayutsya zadannye stroki. Esli komanda
vypolnilas' normal'no, to ukazannye stroki v fajle zamenya-
yutsya na standartnyj vyvod komandy. Starye stroki pomeshchayutsya
v CLOSE-bufer.
3.12.1. Kontekstnaya zamena (rpl)
Programma rpl vyzyvaetsya komandoj <EXEC> i trebuet dva
argumenta. Ona zamenyaet v ukazannyh strokah vse vhozhdeniya
pervogo argumenta na vtoroj argument. Esli kakoj-libo argu-
ment soderzhit probely, on dolzhen byt' vzyat v kavychki. rpl
raspoznaet regulyarnye vyrazheniya v pervom argumente po tem zhe
pravilam, chto i redaktor ed v kontekste poiska, s tem otli-
chiem, chto vmesto simvola . ispol'zuetsya @ dlya oboznacheniya
odnogo proizvol'nogo simvola.
Naprimer, komanda:
<ARG>100l rpl "^ *" " "<EXEC>
isklyuchit vse gruppy probelov v nachale sleduyushchih 100 strok.
dlya oboznacheniya samih simvolov $, &, @, ^, * pered nimi
neobhodimo stavit' \ (obratnuyu chertu).
3.12.2. Primery ispol'zovaniya komandy <EXEC>
S pomoshch'yu komandy <EXEC> mozhno vstavit' v lyuboe mesto
fajla gruppu fajlov, nabrav:
<ARG>0 cat <spisok fajlov><EXEC>
- 27 -
28
Esli pri vvode programm na yazyke Si v otdel'nyh funkciyah
ne ostavlyat' pustyh strok, a sami funkcii razdelyat' pustymi
strokami, to mozhno uluchshit' chitaemost' teksta lyuboj funkcii,
podvedya kursor k ee nachalu i nabrav:
<ARG>cb<EXEC>
3.12.3. Vyhod iz redaktora (<EXIT>)
Dlya togo, chtoby okonchit' rabotu v red, zapisav vse izme-
neniya v arhiv, sluzhit komanda:
<EXIT>
Po umolchaniyu eto dve klavishi: <LineFeed>,<Del>. Esli nuzhno
vyjti iz redaktora, ne zapisyvaya izmeneniya v arhiv, neobho-
dimo nabrat':
<ARG>a<EXIT>
gde "a" - strochnaya latinskaya bukva "a".
Komandu <EXIT> mozhno vvesti i tak: <ARG>q<RETURN>, dlya
vyhoda bez zapisi nuzhno nabrat': <ARG>qa<RETURN>.
3.13. Preryvanie vydachi. Avarijnyj vyhod iz redaktora
Operacionnaya sistema interpretiruet simvoly CTRL/S,
CTRL/Q (priostanovit' peredachu, prodolzhit' peredachu),
CTRL/N, CTRL/O (russkij registr, latinskij registr), a takzhe
simvol "preryvanie" (interrupt) - CTRL/C. Odinochnoe nazhatie
simvola "preryvanie" preryvaet vyvod na ekran ili operaciyu
kontekstnogo poiska i perevodit redaktor v rezhim vvoda para-
metrov. Dvojnoe nazhatie simvola "preryvanie" v sluchae, esli
redaktor ne uspel perejti v rezhim vvoda parametrov, privodit
k avarijnomu zaversheniyu raboty bez zapisi izmenennyh fajlov.
V rezhime priema s klaviatury simvol "preryvanie" interpreti-
ruetsya kak komanda <ARG>. V rezhime povtoreniya prervannogo
seansa nazhatie simvola "preryvanie" preryvaet povtorenie i
- 28 -
29
perevodit redaktor v rezhim vvoda s terminala.
4. DIAGNOSTICHESKIE SOOBSHCHENIYA
Soobshcheniya redaktora vysvechivayutsya v nizhnej stroke ekrana.
Oni delyatsya na soobshcheniya o rezhimah raboty i soobshcheniya ob
oshibkah. V zavisimosti ot ustanovlennoj versii redaktora
diagnostiki vydayutsya na russkom ili anglijskom yazyke. Nizhe
budut privodit'sya oba varianta diagnostiki.
Soobshcheniya o rezhimah raboty
Red:<imya>
use:<imya>
- idet chtenie fajla <imya>;
Zap:<imya>
save:<imya>
- idet zapis' fajla <imya>;
+Poisk:<tekst>
-Poisk:<tekst>
+search:<tekst>
-search:<tekst>
- idet poisk teksta <tekst> vpered ili nazad;
Vypolnenie.
executing..
- idet vypolnenie vneshnej komandy;
Rezhim vstavki
insertmode
- ustanovlen rezhim vstavki;
Ukazanie kursorom
cursor defined
- idet ukazanie uchastka teksta dlya komand <PICK> ili
<CLOSE>;
Sozdat'(y/n)? imya
Create (y/n)? imya
- esli vy dejstvitel'no hotite sozdat' novyj fajl
<imya>, to vvedite "y";
Stroki ukazany metkoj
lines defined by tag
- predydushchej komandoj ukazana chast' strok fajla (ot
kursora do zapomnennoj v peremennoj metki), kotoraya
budet peredana ocherednoj komande kak parametr;
Pryamougol'nik ukazan metkoj
square defined by tag
- predydushchej komandoj ukazana chast' fajla (ot kursora
- 29 -
30
do zapomnennoj v peremennoj metki), kotoraya budet pere-
dana ocherednoj komande kak parametr;
CHast' stroki ukazana metkoj
columns defined by tag
- predydushchej komandoj ukazana chast' stroki (ot kursora
do metki, prisvoennoj peremennoj), kotoraya budet pere-
dana ocherednoj komande kak parametr.
Soobshcheniya ob oshibkah :
Argument dolzhen byt' chislom
argument must be numeric
- argument komandy dolzhen byt' chislovym;
Argument dolzhen byt' polozhitel'nym
argument must be positive
- argument dolzhen byt' polozhitel'nym;
Bufer vstavok pust
nothing in the pick buffer
- vvedena komanda <PUT>, no ni razu ne vypolnyalas'
komanda <PICK>;
Close bufer pust
nothing in the close buffer
- vvedena komanda <ARG><PUT>, no ni razu ne vypolnyalas'
komanda <CLOSE>;
A chto iskat'?
nothing to search for
- ne zadan obraz dlya kontekstnogo poiska;
Tekst ne najden
search key not found
- obraz dlya poiska ne najden;
Zdes' nel'zya sozdat' okno
can't put a window there
- pri sozdanii novogo "okna" kursor dolzhen byt' v per-
voj stroke "okna" ili na pervoj kolonke;
Ne mogu sozdat' stol'ko
can't make any more ports
- prevysheno dopustimoe chislo "okon" (10);
Slishkom mnogo fajlov
too many files...
- prevysheno maksimal'no dopustimoe chislo fajlov (10);
Vy ne mozhete izmenit' etot fajl
you can't modify this file
- fajl nel'zya izmenyat', tak kak zapis' v nego
- 30 -
31
zapreshchena.
Imeetsya eshche neskol'ko redkih diagnostik, no oni, kak pra-
vilo, samoochevidny.
5. POSTANOVKA REDAKTORA red. PODKLYUCHENIE NOVYH TIPOV TERMI-
NALOV
Redaktor red nichego ne znaet o terminalah, na kotoryh on
rabotaet. Neobhodimuyu dlya raboty informaciyu on poluchaet ot
operacionnoj sistemy. Operacionnaya sistema znaet tip termi-
nala i ustanavlivaet ego v peremennuyu TERM interpretatora
SHELL ili CSH.
Svojstva terminalov opisany v fajle /etc/termcap. Termi-
naly harakterizuyutsya naborom funkcional'nyh vozmozhnostej,
kodami komand i sposobom vypolneniya razlichnyh operacij.
Spisok terminalov, opisanie kotoryh uzhe zaneseno v sistemu,
priveden v nachale fajla "/etc/termcap".
|lementy fajla termcap sostoyat iz simvol'nyh polej, raz-
delennyh simvolom ":"(dvoetochie). Pervyj element ukazyvaet
imena, pod kotorymi terminal izvesten v sisteme. imena raz-
deleny simvolom (vertikal'naya cherta). Kak pravilo, poslednee
imya yavlyaetsya polnym nazvaniem terminala, a predydushchie imena
- ego sokrashcheniyami, kotorye ispol'zuyutsya, v chastnosti, v
fajle /etc/ttytype. Podrobnuyu informaciyu mozhno najti v sle-
duyushchih razdelah operativnoj dokumentacii po OS DEMOS:
environment (5),
tset (1)
ttys (5)
ttytype (5)
termcap (5)
Nizhe povtoryaetsya opisanie formata opisaniya terminalov
termcap.
5.1. Opisanie terminala v baze opisanij terminalov
Opisanie kazhdogo tipa terminalov v fajle /etc/termcap
sostoit iz ryada polej, razdelennyh simvolom ":". Esli opisa-
nie perenositsya na novuyu stroku, to v konce predydushchej sta-
vitsya ":\", i novaya stroka nachinaetsya s simvola ":".
Vse harakteristiki imeyut dvuhsimvol'nye kody.
Harakteristika mozhet imet' odnu iz treh form zapisi:
:<imya>:
- harakteristika opisyvaet nalichie ili otsutstvie
kakoj-libo vozmozhnosti (logicheskij tip);
- 31 -
32
:<imya>#<chislo>:
- eto chislennaya harakteristika (naprimer, razmer
ekrana);
:<imya>=<zaderzhka><stroka>:
- znacheniem yavlyaetsya stroka simvolov, prichem <zaderzhka>
mozhet otsutstvovat'.
V poslednem sluchae za "=" sleduet neobyazatel'noe chislo,
kotoroe ukazyvaet dlitel'nost' zaderzhki pri vypolnenii
komandy v millisekundah. zatem sleduet stroka simvolov v
zakodirovannoj forme. |lementy stroki mogut predstavlyayutsya v
odnoj iz chetyreh form:
1) \<simvol> - oboznachaet odin iz sleduyushchih simvolov, ne
predstavimyh graficheski:
\r - kod 015 (return);
\n - kod 012 (line feed);
\t - kod 011 (tab);
\b - kod 010 (backspace);
\f - kod 014;
2) \nnn,
gde "nnn" -vos'merichnye cifry - simvol s kodom "nnn";
3) ^<bukva> - upravlyayushchij simvol CTRL+<bukva>, naprimer,
"^C" oboznachaet simvol "003";
4) <lyuboj simvol>, krome ":", "\", "^", oboznachaet sam
sebya.
Simvol "pusto" kodiruetsya kak \200.
Tablica 1. Osnovnye harakteristiki terminalov
--------------------------------------------
| n imya tip obya- tol'ko znachenie |
| har zat. dlya red harakteristiki |
|------------------------------------------|
| 1 co chis + - chislo kolonok v stroke |
| li chis + - chislo strok na ekrane |
|------------------------------------------|
- 32 -
33
Prodolzhenie tab. 1
--------------------------------------------
| n imya tip obya- tol'ko znachenie |
| har zat. dlya red harakteristiki |
|------------------------------------------|
| 2 am log - - terminal imeet avtoma- |
| ticheskij perevod strok |
|------------------------------------------|
| 3 bs log - - kod 010 vyzyvaet vozvrat|
| na 1 poziciyu nazad |
| rt str - - vozvrat na nachalo stroki|
| bc str - - kod "kursor nazad", |
| esli ne 010 |
| cm str - - adresaciya kursora * |
| cl str + - ochistka ekrana |
| do str * - kursor vniz |
| up str * - kursor vverh |
| nd str * - kursor vpravo |
| ho str * - kursor v nachalo ekrana |
|------------------------------------------|
| 3 is str - - inicializaciya terminala |
| fs str - + konec raboty v redaktore|
| vozvrat v nachal'noe |
| sostoyanie |
| cu str - + kod "svetlyj kvadrat" |
| (kak pravilo, \177.) |
| nb log - + net zvukovogo signala |
|------------------------------------------|
| 4 UC log - - terminal imeet tol'ko |
| propisnye bukvy |
| LC log - - terminal imeet propisnye|
| strochnye bukvy |
| CY log - + terminal imeet russkie i|
| latinskie bukvy |
|------------------------------------------|
| 5 al str - - vstavka pustoj stroki |
| dl str - - isklyuchenie stroki |
| ic str - - vstavit' simvol |
| dc str - - isklyuchit' simvol |
| cd str - - ochistit' ekran ot kursor|
| do konca |
| ce str - - ochistka konca stroki |
| sr str - - prokrutit' tekst vniz |
| sf str - - prokrutit' tekst vverh |
| ns log - - net sdvizhki teksta |
| (net roll) |
| cs str - - izmenenie oblasti pro- |
| krutki teksta* |
|------------------------------------------|
- 33 -
34
Prodolzhenie tab. 1
--------------------------------------------
| n imya tip obya- tol'ko znachenie |
| har zat. dlya red harakteristiki |
|------------------------------------------|
| 6 kd str + - kod klavishi strelka vniz|
| ku str + - -- // -- strelka vverh |
| kl str + - -- // -- strelka vlevo |
| kr str + - -- // -- strelka vpravo|
| kh str + - -- // -- "home" |
|------------------------------------------|
| 7 kody klavish, ispol'zue-|
| myh dlya vypolneniya |
| komand redaktora: |
| kN - - komanda <-PAGE> |
| kP - - komanda <+PAGE> |
| kB - - komanda <B-TAB> |
| kF - - komanda <+LINE> |
| kR - - komanda <-LINE> |
|------------------------------------------|
| 8 Kody, vyrabatyvaemye |
| funkcional'nymi klavi- |
| shami PF1 - PF5 |
| Traktuyutsya oni tak: |
| k1 str - - komanda <ARG> |
| k2 str - - komanda <OPEN> |
| k3 str - - komanda <CLOSE> |
| k4 str - - komanda <INSERT> |
| k5 str - - komanda <DCHAR> |
|------------------------------------------|
| 9 f. str - + Kody, vyrabatyvaemye |
| f- str - + dopolnitel'noj funkcio-|
| f0 str - + nal'noj klaviaturoj. |
| f1 |
| .. ... . . |
| f9 str - + |
|------------------------------------------|
|10 tc=<imya> oznachaet, chto ostal'nye ha-|
| rakteristiki sovpadayut s|
| harakteristikami terminala |
| <imya> |
| <imya>@ otmena harakteristiki |
| <imya> |
| hR str - + Imya fajla s kratkim |
| opisaniem komand |
| (vydaetsya pol'zovatelyu)|
|------------------------------------------|
- 34 -
35
Prodolzhenie tab. 1
--------------------------------------------
| n imya tip obya- tol'ko znachenie |
| har zat. dlya red harakteristiki |
|------------------------------------------|
|11 Gs str - + Vklyuchenie psevdografi- |
| cheskogo nabora simvolov|
| Ge str - + Vyklyuchenie psevdografi-|
| ki |
| Gt str - + Nabor simvolov psevdo- |
| grafiki |
--------------------------------------------
V tablice 1 privedeny osnovnye harakteristiki, ispol'zue-
mye redaktorom red. Polnoe opisanie vozmozhnyh harakteristik
imeetsya v dokumentacii po operacionnoj sisteme.
Harakteristiki razbity na 11 grupp.
Gruppa 1.
Opisyvaet razmery ekrana terminala;
Gruppa 2.
Opisyvaet sposob upravleniya kursorom na ekrane. Samyj
slozhnyj element gruppy - harakteristika "cm". Esli u
terminala net vozmozhnosti pryamoj adresacii kursora na
ekrane, to dlya raboty red neobhodimy harakteristiki,
pomechennye simvolom "*" v grafe "obyazatel'nyj", v pro-
tivnom sluchae redaktor mozhet obojtis' i bez nih. Harak-
teristika "am" oznachaet, chto pri dostizhenii konca
stroki kursor avtomaticheski perehodit na nachalo sleduyu-
shchej stroki;
Gruppa 3.
Opisyvaet inicializaciyu displeya i dopolnitel'nye ego
harakteristiki. "cu" - eto kod simvola, ispol'zuemogo
redaktorom dlya markirovki polozheniya kursora v "okne".
esli on ne ukazan, ispol'zuetsya simvol "@". Rekomendu-
etsya ukazyvat' "cu=\177", esli tol'ko terminal umeet
otobrazhat' etot kod kak svetlyj kvadrat;
Gruppa 4.
Vozmozhnosti terminala po otobrazheniyu simvolov. esli
"UC", to terminal dolzhen rabotat' v rezhime "lcase"; |ti
harakteristiki ispol'zuet sistema, a ne redaktor, dlya
ustanovki flagov terminala.
Gruppa 5.
Dopolnitel'nye redaktiruyushchie vozmozhnosti terminala;
harakteristika "cs" analogichna "cm" po rabote s
- 35 -
36
parametrami - nomerami verhnej i nizhnej stroki oblasti
sdviga teksta.
Gruppa 6.
Kody, vyrabatyvaemye osnovnymi upravlyayushchimi klavishami;
Gruppa 7.
Kody, vyrabatyvaemye funkcional'nymi klavishami, kotorye
predpolagaetsya ispol'zovat' v sootvetstvii s ukazannoj
traktovkoj.
Gruppa 8.
Kody, vyrabatyvaemye funkcional'nymi klavishami PF1 -
PF5 ili klavishami, ih zamenyayushchimi.
Gruppa 9.
Kody, vyrabatyvaemye dopolnitel'noj funkcional'noj kla-
viaturoj s nadpisyami "0"-"9", "-", ".".
Gruppa 10.
Pozvolyaet opisyvat' odin terminal cherez drugoj, esli
oni pohozhi. naprimer:
vt340:cm@:UC:KI:LC@:nb:tc=vdt52100c
Gruppa 11
Opisyvaet rabotu s psevdograficheskimi simvolami, koto-
rye ispol'zuyutsya dlya risovaniya ramok. Gs vklyuchaet rezhim
vyvoda psevdograficheskih simvolov, Ge ego vyklyuchaet.
Stroka Gt opisyvaet kodirovanie psevdograficheskih sim-
volov v rezhime psevdografiki: kazhdyj simvol stroki
sootvetstvuet odnomu simvolu psevdografiki v sleduyushchem
poryadke:
- gorizontal'naya cherta;
- bol'shoj zakrashennyj kvadrat;
- vertikal'naya cherta;
- levyj nizhnij ugol;
- nizhnee "T";
- pravyj nizhnij ugol;
- levoe "T";
- peresechenie dvuh linij;
- pravoe "T";
- verhnij levyj ugol;
- verhnee "T";
- verhnij pravyj ugol;
- strelka vniz;
- strelka vverh;
- strelka vlevo;
- strelka vpravo;
esli v stroke zadano men'she simvolov, ne zadannye
- 36 -
37
simvoly zamenyayutsya na sootvetstvuyushchie im obychnye sim-
voly KOI-8.
5.2. Adresaciya kursora.
Sposob adresacii kursora dlya dannogo terminala opisyva-
etsya harakteristikoj "cm" strochnogo tipa. Krome simvolov,
kotorye prosto peredayutsya na terminal, v stroke mogut vstre-
chat'sya special'nye posledovatel'nosti vida %X, kotorye pri
vyvode zamenyayutsya na nomer kolonki ili nomer stroki po pra-
vilam, opredelyaemym simvolom X (analogichno rabotaet format v
printf). Esli rassmatrivat' stroku "cm" kak format vyvoda,
to parametrami funkcii vyvoda yavlyayutsya nomer stroki i pozi-
cii, na kotorye dolzhen byt' ustanovlen kursor. Kody tipa
"%" imeyut sleduyushchij smysl:
%d - to zhe, chto i dlya programmy "printf", prichem numera-
ciya kolonok i stolbcov nachinaetsya s 0;
%2 - ekvivalentno %2d;
%3 - ekvivalentno %3d;
%. - ekvivalentno %c;
%+x - slozhit' kod simvola "x" s sootvetstvuyushchim znacheniem
(nomerom stroki ili kolonki), zatem vydat' ee po
"%.";
%r - obratnyj poryadok nomerov stroki i pozicii. vyvod ne
proizvoditsya;
%i - nomera stroki i kolonki otschityvat' s 1 (vmesto 0);
%% - daet odin simvol "%".
Naprimer, dlya terminala "VDT-52100" adresaciya kursora
opisyvaetsya sleduyushchej strokoj:
cm=3^a%.%.
Terminaly, kotorye ispol'zuyut kody vida "%.", dolzhny
imet' harakteristiki "bs" (ili "bc") i "up", to est' imet'
vozmozhnost' peremeshchat' kursor nazad na 1 poziciyu i vverh na
odnu stroku. |to neobhodimo, tak kak redaktor ne vydaet
pri adresacii kursora simvoly \t, \n, ^D i \r: sistema mozhet
izmenit' ili unichtozhit' eti simvoly.
V dannom razdele ochen' kratko byli izlozheny pravila opi-
saniya terminala v fajle /etc/termcap. Obychno pri poyavlenii
novogo terminala byvaet celesoobrazno dlya ego opisaniya
ispol'zovat' opisanie kakogo-libo drugogo terminala libo
- 37 -
38
ispol'zovat' kratkoe opisanie s parametrom "tc=...". Odnako
skoree vsego vse vashi terminaly uzhe imeyutsya v /etc/termcap,
chto izbavit ot neobhodimosti razbirat'sya v ne ochen' prostyh
pravilah opisaniya terminalov.
- 38 -
39
PRILOZHENIE 1. Spravochnaya informaciya po red
Redaktor red prednaznachen dlya redaktirovaniya i prosmotra
fajlov v ekrannom rezhime. On pozvolyaet prosmatrivat' na
ekrane terminala odin ili neskol'ko fajlov, redaktirovat'
fajly s ispol'zovaniem upravlyayushchih klavish terminala i komand
redaktora, perenosit' informaciyu iz fajla v fajl i provodit'
drugie operacii redaktirovaniya.
Redaktor vyzyvaetsya s pomoshch'yu komandy red v odnom iz sle-
duyushchih formatov:
red [-klyuchi] imya_fajla [nomer_stroki]
Nachat' redaktirovanie fajla "imya_fajla", ustanoviv okno
na stroku nomer_stroki; esli nomer ne ukazan, vysvechi-
vaetsya nachalo fajla.
red [-klyuchi]
Prodolzhit' redaktirovanie s togo sostoyaniya, v kotorom
byl zavershen predydushchij seans raboty s dannogo termi-
nala.
red [-klyuchi] -
Povtorit' seans redaktirovaniya fajlov posle sboya sis-
temy ili redaktora.
red [-klyuchi] -r fajl_protokol
Povtorit' seans redaktirovaniya, schitav protokol iz uka-
zannogo fajla.
Vvod komand osushchestvlyaetsya s pomoshch'yu funkcional'nyh kla-
vish terminala. Na bol'shinstve terminalov dlya etogo ispol'-
zuetsya dopolnitel'naya cifrovaya klaviatura, raspolozhennaya
sprava dlya osnovnoj. Osoboe znachenie imeet klavisha `2',
kotoraya izmenyaet znachenie sleduyushchej klavishi. Esli dopolni-
tel'naya cifrovaya klaviatura otsutstvuet ili ne imeet rezhima
generacii upravlyayushchih kodov, ispol'zuetsya klavisha <perevod
stroki> (<LineFeed>), naprimer vmesto `1' vvodyat
<LineFeed>`1', a vmesto `2'`4' - <LineFeed><LineFeed>`4'.
Kratkoe opisanie komand
V opisanii privedeny: kratkoe nazvanie komandy, polnoe
nazvanie komandy, vvod s klaviatury (cherez "," perechisleny
vozmozhnye varianty vvoda, zapis' ^C oznachaet CTRL+C):
<ARG> - VVOD ARGUMENTA: `1', <LineFeed><Probel>
Nachalo vvoda argumenta. Argumentom mozhet byt' stroka
simvolov ili ukazanie oblasti na ekrane terminala
(oblast' opredelyaetsya nachal'nym i konechnym polozheniyami
kursora i predstavlyaet soboj libo pryamougol'nik na
ekrane, esli nachal'naya i konechnaya kolonki ne sovpadayut,
libo neskol'ko strok, esli nachal'naya i konechnaya kolonki
- 39 -
40
sovpadayut). Vvod argumenta zavershaetsya vvodom komandy,
k kotoroj etot argument otnositsya.
<TAB> - TABULYACIYA: <TAB>
<B-TAB> - TABULYACIYA NAZAD: `.', ^B
peredvinut' kursor na sleduyushchuyu (predydushchuyu) poziciyu
tabulyacii.
<GOTO> - PEREJTI NA: `4'
Bez argumenta - perehod na nachalo fajla. Argument -
nomer stroki; pustoj argument - konec fajla.
<LEFT> - SDVIG VLEVO: `2'<kursor vlevo>
<RIGHT> - SDVIG VPRAVO: `2'<kursor vpravo>
Sdvig ekrana vlevo/vpravo.
<+PAGE> - LIST VPERED: `7', <NextScr>
<-PAGE> - LIST NAZAD: `2'`7', <PrevScr>
Vozmozhnyj argument - chislo stranic, na kotorye ekran
peremeshchaetsya po tekushchemu fajlu.
<+LINE> - STROKA VPERED: <Forward>, ^T
<-LINE> - STROKA NAZAD: <Backward>, ^W
Argument - chislo strok; pustoj argument - vyvesti teku-
shchuyu stroku v verhnyuyu (nizhnyuyu) stroku okna (peremeshcheniem
okna po fajlu). Klavishi <Forward> i <Backward> (nad-
pisi mogut byt' i inymi) oboznacheny v opisanii termi-
nala v sisteme kak "kF" i "kR".
<+SEARCH> - POISK VPERED: `3', ^R
<-SEARCH> - POISK NAZAD: `2'`3', ^E
Argument - tekst, kotoryj nuzhno najti v fajle.
<INSERT> - REZHIM VSTAVKI: `5', <PF4>
Vklyuchaet/vyklyuchaet rezhim vstavki;
<D-CHAR> - ISKLYUCHITX SIMVOL: `6', ^U
<TRUNC> - ISKLYUCHITX KONEC STROKI: `1'`6'
<OPEN> - RAZDVINUTX: `8', <PF2>
Vstavit' pustuyu stroku; argument - chislo strok libo
oblast' na ekrane, v kotoruyu nuzhno vstavit' probely.
<CLOSE> - UBRATX: `2'`8', <PF3>
Ubrat' stroki libo oblast' na ekrane. Ubrannaya infor-
maciya popadaet v bufer ubrannyh strok.
<GET> - VZYATX: `9', ^F
Zapomnit' stroki libo oblast' na ekrane.
<PUT> - POLOZHITX: `2'`9', ^G
Vzyataya ranee informaciya pomeshchaetsya v tekushchee mesto na
- 40 -
41
ekrane. Komanda s pustym argumentom ispol'zuetsya,
chtoby vstavit' informaciyu iz bufera ubrannyh strok.
<SPLIT> - RAZREZATX STROKU NA DVE
Otrabatyvaetsya po komande <OPEN> s pustym argumentom.
(`1'<PF2>).
<JOIN> - SKLEITX STROKI
Otrabatyvaetsya po komande <CLOSE> s pustym argumentom.
(`1'<PF3>).
<SAVE> - ZAPISX: `2' `-', ^V
Argument - imya fajla (esli ne sovpadaet so starym).
<USE> - REDAKTIROVATX: `-', ^D
Komanda bez argumenta perehodit k al'ternativnomu fajlu
(po umolchaniyu - fajl podskazok).
<M-PORT> - SOZDATX OKNO: `2'`4'
Argument - imya fajla, kotoryj budet vysvechivat'sya v
novom okne. Kursor dolzhen byt' libo v krajnej levoj
pozicii ekrana libo na verhnej stroke ekrana. Komanda
s pustym argumentom vypolnyaet otmenu poslednego zave-
dennogo okna.
<CH-PORT> - SMENITX OKNO: `0'
smenit' tekushchee okno (esli otkryto bolee chem odno
okno).
<EXEC> - VYPOLNITX: `2'`0', ^P
Argument: "[chislo[l] ] komanda [argumenty]". "komanda"
vypolnyaetsya kak fil'tr nad tekstom v ocherednyh "chislo"
abzacah (esli ukazana bukva l, to strokah) fajla.
Abzac - gruppa nepustyh strok fajla, razdelennaya odnoj
ili neskol'kimi pustymi strokami.
<EXIT> - VYHOD: <Perevod stroki><Zaboj>
Argument "a" blokiruet zapis' izmenennyh fajlov.
Komanda mozhet takzhe vvodit'sya kak <ARG>q[a]<Vozvrat
karetki>.
- Zapomnit' v peremennuyu: <ARG>>I<Komanda>
Gde I - imya makroperemennoj (odna bukva), <Komanda> -
libo <Vozvrat karetki> (togda zapominaetsya tekushchee
mesto v fajle), libo <GET> (zapominaetsya bufer
vstavki), libo <CLOSE> (zapominaetsya bufer ubrannyh
strok). Makro zatem mozhno ispol'zovat' v komandah
<GOTO>, <PUT>, a takzhe v komandah, argumentom kotoryh
mozhet byt' oblast' na ekrane (v etom sluchae vvoditsya
oblast' ot tekushchego polozheniya kursora do zapomnennoj
metki), ukazav v kachestve argumenta "$I".
- 41 -
42
- VVOD MAKRO: <ARG>d I<VK>
Koncom vvoda sluzhit komanda <VYHOD>.
- VYPOLNENIE MAKRO: <PS>$I
- PEREOPREDELENIE KLAVISHI: <ARG>k<VK>
Pri etom, esli v otvet na zapros pereopredelyaemoj
komandy vvedeno imya makro (odna bukva), pri nazhatii
etoj klavishi vypolnyaetsya dannoe makro.
<ESCAPE> - PRIZNAK NETEKSTOVOGO SIMVOLA: `2'`0', ^A
Po etoj komande vvoditsya special'nyj simvol i sleduyushchij
upravlyayushchij simvol vvoditsya v fajl, a ne traktuetsya
redaktorom kak komanda.
Dalee privedena kodirovka komand dlya naibolee rasprostra-
nennyh terminalov. Esli na vashem terminale oboznacheniya na
upravlyayushchej klaviature ne sovpadayut s nimi, neobhodimo utoch-
nit' kodirovanie komand redaktora u sistemnyh programmistov.
Na shemah klaviatury sverhu napisano nazvanie komandy, koto-
raya ispolnyaetsya po dannoj klavishe. Poseredine - nadpis' na
klavishe. Snizu napisano nazvanie komandy, kotoraya ispolnya-
etsya, esli predvaritel'no nazhat' klavishu `2'.
____________________________________________________________
Komandy dlya |lektronika-15-I|-0013
upravlyayushchaya klaviatura cifrovaya klaviatura
--------------------------- ----------------------------
| | & | USE | | +PAGE | OPEN | PICK |
| i~~ | I | V_| | | -7- | -8- | -9- |
| | +LINE | SAVE | | -PAGE | CLOSE | PUT |
--------------------------- ----------------------------
| | HOME | | | GOTO | INSERT | DCHAR |
| <-- | & | --> | | -4- | -5- | -6- |
| LEFT | | RIGHT | | M-PORT | CH-TAB | |
--------------------------- ----------------------------
| BSPACE | I | | | ARG | "UST" | +SEARC |
| <-I | V | I-> | | -1- | -2- | -3- |
| | -LINE | | | | "OTM" | -SEARC |
--------------------------- | ESCAPE | B-TAB |
| OPEN | INSERT | CLOSE | | -0 - | -,- |
| = | .. | = | | CH-PORT | EXEC |
--------------------------- ----------------------------
EXIT -"PS""ZB" TAB - "GT"
Ris 6
____________________________________________________________
- 42 -
43
____________________________________________________________
Komandy dlya VDT52100 i VT-340
-------------------- ------------------
| <CLOSE> | <OPEN> | | | <ARG> |
| "d l" | "i l" | |"return"|"erase"|
-------------------- ------------------
|<B-SPACE>|<INSERT>|
| "d c" | "i c" |
--------------------
| <HOME> |
| "h o m e" |
--------------------
Vvod ostal'nyh komand:
<+PAGE> - <LF>`8' <+LINE> - ^T
<-PAGE> - <LF><LF>`8' <-LINE> - ^W
<LEFT> - <LF><StrelkaVlevo>
<RIGHT> - <LF><StrelkaVpravo>
<GOTO> - <LF>`4' <+SEARCH> - ^R
<M-PORT> - <LF><LF>`4' <PICK> - ^F
<CH-PORT> - <LF>`0' <PUT> - ^G
<ESCAPE> - ^A <EXEC> - ^P
<CH-TAB> - <LF><LF>`5' <B-TAB> - ^B
<DEL-CH> - ^U <-SEARCH> - ^E
<SAVE> - <LF><LF>`-' <USE> - ^D
Ris. 7
____________________________________________________________
- 43 -
44
____________________________________________________________
Komandy dlya VTA 2000.3
Pri nazhatii na klavishi 0-9, ".",","
neobhodimo odnovremenno
nazhat' klavishu "UPR".
-------------------------------------
| ARG | B-SPACE| HOME | / |
| *** | ***00 | & | *** |
| *00 | | +---- | / |
-------------------------------------
| +PAGE | OPEN | PICK | & |
| -7- | -8- | -9- | I |
| -PAGE | CLOSE | PUT | +LINE |
-------------------------------------
| GOTO | INSERT | DCHAR | I |
| -4- | -5- | -6- | V |
| M-PORT | CH-TAB | | -LINE |
-------------------------------------
| ARG | "ust" | +SEARC | |
| -1- | -2- | -3- | --> |
| | "otm" | -SEARC | RIGHT |
-------------------------------------
| ESCAPE | B-TAB | |
| -0 - | -,- | <-- |
| CH-PORT | EXEC | LEFT |
-------------------------------------
Ris. 8
____________________________________________________________
- 44 -
45
____________________________________________________________
Komandy dlya VTA 2000.1
Pri nazhatii na klavishi 0-9, ".",","
neobhodimo odnovremenno
nazhat' klavishu "UPR".
------------------------------------------
| ARG | | |INSERT |B-SPACE|
|"chistka | ***** | **::: | ***> | <*** |
| ekrana"| ***:: | | | |
------------------------------------------
| HOME | | | & | OPEN |
| & | | | I | * |
| +---- | | | +LINE | V |
------------------------------------------
| +PAGE | OPEN | PICK | I | CLOSE |
| -7- | -8- | -9- | V | & |
| -PAGE | CLOSE | PUT | -LINE | * |
------------------------------------------
| GOTO |INSERT | DCHAR | | |
| -4- | -5- | -6- | ---> | |
| M-PORT |CH-TAB | | RIGHT | |
------------------------------------------
| ARG |"ust" |+SEARC | | |
| -1- | -2- | -3- | <--- | |
| |"otm" |-SEARC | LEFT | |
------------------------------------------
| ESCAPE | B-TAB | | |
| -0 - | -,- | | |
| CH-PORT | EXEC | | |
------------------------------------------
Ris. 9
____________________________________________________________
- 45 -
46
____________________________________________________________
MERA-7958,VDT-STATION,VDT-52129
i drugie terminaly, pohozhie na DEC/VT-52
----------------------------------
| ARG | OPEN | CLOSE | & |
| pf1 | pf2 | pf3 | | |
| | | | +LINE |
----------------------------------
| +PAGE | OPEN | PICK | I |
| -7- | -8- | -9- | V |
| -PAGE | CLOSE | PUT | -LINE |
----------------------------------
| GOTO |INSERT | DCHAR | |
| -4- | -5- | -6- | ---> |
| M-PORT |CH-TAB | | RIGHT |
----------------------------------
| ARG |"ust" |+SEARC | |
| -1- | -2- | -3- | <--- |
| |"otm" |-SEARC | LEFT |
----------------------------------
| ESCAPE | B-TAB | USE |
| -0 - | -,- | enter |
| CH-PORT | EXEC | SAVE |
-----------------------------------
Ris. 10
____________________________________________________________
PRILOZHENIE 2. Izobrazhenie komand redaktora pri vvode makro-
opredeleniya
lt ^F ch-tab ^]
rt ^E escape ^@
up ^A +line ^T
dn ^B -line ^W
rn ^C +page ^N
home ^D -page ^Q
tab ^G goto ^O
b-tab ^H left ^S
right ^Y ch-port ^M
+search ^R del-ch ^U
-search ^X b-space net
open ^K arg ^_
close ^^ insert ^\
pick ^I save ^V
put ^Z use ^L
m-port ^J exec ^P
- 46 -
47
SODERZHANIE
ANNOTACIYA ......................................... 2
1. VVEDENIE .......................................... 3
2. OBSHCHEE OPISANIE REDAKTORA .......................... 3
2.1. Osnovnye principy redaktirovaniya. ............... 3
2.2. Vyzov redaktora ................................. 5
2.3. Ispol'zovanie klaviatury i vvod komand redak-
tora ............................................ 5
2.3.1. Otobrazhenie informacii ........................ 7
2.3.2. Vvod informacii s klaviatury .................. 8
2.3.3. Vvod komand v redaktor red ................... 8
2.4. Okna i redaktiruemye fajly ...................... 9
2.5. Peremennye i makrokomandy ....................... 10
2.6. Izmenenie rezhimov raboty redaktora .............. 11
2.7. CHto delat' pri sboe ............................. 12
3. KOMANDY REDAKTORA red ............................. 13
3.1. Vvod parametrov <ARG> ........................... 13
3.2. Vosstanovlenie ekrana ........................... 14
3.3. Dvizhenie kursora vnutri okna .................... 14
3.3.1. Klavishi so strelkammi ......................... 14
3.3.2. Komandy <HOME> i <RETURN> ..................... 15
3.3.3. Tabulyaciya (<tab>, <b-tab>, <set-tab>) ......... 16
3.4. Redaktirovanie vnutri stroki .................... 16
3.4.1. Vvod teksta. Rezhim vstavki (<INSERT>) ......... 16
3.4.2. Unichtozhenie simvolov (<DEL-CH> i <BACK-
SPACE>) ....................................... 16
3.4.3. Vvod netekstovyh simvolov (<ESCAPE>) .......... 17
3.5. Peremeshchenie po fajlu ............................ 17
3.5.1. Zapominanie mesta v fajle ..................... 17
3.5.2. Podvod k stroke (<GOTO>) ...................... 17
3.5.3. Listovanie fajla (<+PAGE>, <-PAGE>, <+LINE>,
<-LINE>) ...................................... 18
3.5.4. Sdvig okna vpravo/vlevo (<RIGHT> i <LEFT>) .... 19
3.5.5. Peremeshchenie s pomoshch'yu strelok ................. 19
3.6. Kontekstnyj poisk (<+SEARCH>, <-SEARCH>) ....... 19
3.7. CHtenie i zapis' fajlov (<USE>, <SAVE>) .......... 20
3.7.1. Zapret i razreshenie zapisi v fajl ............. 21
3.8. Perenos, unichtozhenie i vstavka teksta ........... 21
3.8.1. Komandy <OPEN> i <CLOSE> ...................... 21
3.8.2. Kopirovanie teksta (<PICK>, <PUT>) ............ 22
3.9. Rabota s oknami (<M-PORT> i <CH-PORT>) .......... 23
3.10. Ispol'zovanie makrokomand ....................... 25
3.11. Pereopredelenie klaviatury ...................... 25
3.12. Vypolnenie komand-fil'trov (komanda <EXEC>) ... 26
3.12.1. Kontekstnaya zamena (rpl) .................. 27
3.12.2. Primery ispol'zovaniya komandy <EXEC> .... 27
3.12.3. Vyhod iz redaktora (<EXIT>) .................. 28
- 47 -
48
3.13. Preryvanie vydachi. Avarijnyj vyhod iz redaktora
................................................ 28
4. DIAGNOSTICHESKIE SOOBSHCHENIYA ........................ 29
5. POSTANOVKA REDAKTORA red. PODKLYUCHENIE NOVYH TIPOV
TERMINALOV ........................................ 31
5.1. Opisanie terminala v baze opisanij terminalov ... 31
5.2. Adresaciya kursora. .............................. 37
PRILOZHENIE 1. Spravochnaya informaciya po red ........ 39
Kratkoe opisanie komand ........................... 39
PRILOZHENIE 2. Izobrazhenie komand redaktora pri
vvode makroopredeleniya ............................ 46
- 48 -
Last-modified: Tue, 30 Jun 1998 04:29:08 GMT