Opisanie tekstovogo redaktora "RED" Dialogovaya Edinaya Mobil'naya Operacionnaya Sistema DEMOS 32/V 2.0 Poliekrannyj redaktor tekstov red Moskva 1988   SODERZHANIE 1. VVEDENIE .......................................... 2 2. OBSHCHEE OPISANIE REDAKTORA .......................... 2 2.1. Osnovnye principy redaktirovaniya. ............... 2 2.2. Vyzov redaktora ................................. 3 2.3. Ispol'zovanie klaviatury i vvod komand redak- tora ............................................ 4 2.3.1. Otobrazhenie informacii ........................ 6 2.3.2. Vvod informacii s klaviatury .................. 7 2.3.3. Vvod komand v redaktor red ................... 7 2.4. Okna i redaktiruemye fajly ...................... 8 2.5. Peremennye i makrokomandy ....................... 9 2.6. Izmenenie rezhimov raboty redaktora .............. 9 2.7. CHto delat' pri sboe ............................. 11 3. KOMANDY REDAKTORA red ............................. 11 3.1. Vvod parametrov ........................... 11 3.2. Vosstanovlenie ekrana ........................... 13 3.3. Dvizhenie kursora vnutri okna .................... 13 3.3.1. Klavishi so strelkami .......................... 13 3.3.2. Komandy i ..................... 14 3.3.3. Tabulyaciya (, , ) ......... 14 3.4. Redaktirovanie vnutri stroki .................... 14 3.4.1. Vvod teksta. Rezhim vstavki () ......... 14 3.4.2. Unichtozhenie simvolov ( i ) ....................................... 15 3.4.3. Vvod netekstovyh simvolov () .......... 15 3.5. Peremeshchenie po fajlu ............................ 15 3.5.1. Zapominanie mesta v fajle ..................... 16 3.5.2. Podvod k stroke () ...................... 16 3.5.3. Listovanie fajla (<+PAGE>, <-PAGE>, <+LINE>, <-LINE>) ...................................... 16 3.5.4. Sdvig okna vpravo/vlevo ( i ) .... 17 3.5.5. Peremeshchenie s pomoshch'yu strelok ................. 17 3.6. Kontekstnyj poisk (<+SEARCH>, <-SEARCH>) ....... 17 3.7. CHtenie i zapis' fajlov (, ) .......... 18 3.7.1. Zapret i razreshenie zapisi v fajl ............. 19 3.8. Perenos, unichtozhenie i vstavka teksta ........... 19 3.8.1. Komandy i ...................... 19 3.8.2. Kopirovanie teksta (, ) ............ 20 3.9. Rabota s oknami ( i ) .......... 21 3.10. Ispol'zovanie makrokomand ....................... 22 3.11. Pereopredelenie klaviatury ...................... 23 3.12. Vypolnenie komand-fil'trov (komanda ) ... 24 3.12.1. Kontekstnaya zamena (rpl) .................. 25 3.12.2. Primery ispol'zovaniya komandy .... 25 3.12.3. Vyhod iz redaktora () .................. 25 3.13. Preryvanie vydachi. Avarijnyj vyhod iz redaktora ................................................ 26 4. DIAGNOSTICHESKIE SOOBSHCHENIYA ........................ 26 5. POSTANOVKA REDAKTORA red. PODKLYUCHENIE NOVYH TIPOV TERMINALOV ........................................ 28 5.1. Opisanie terminala v baze opisanij terminalov ... 29 5.2. Adresaciya kursora. .............................. 34 PRILOZHENIE 1. Spravochnaya informaciya po red ........ 36 Kratkoe opisanie komand ........................... 36 PRILOZHENIE 2. Izobrazhenie komand redaktora pri vvode makroopredeleniya ............................ 43 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 (), , ; 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: - dvigat' "okno" vverh, vniz, vpravo, vlevo po fajlu; ____________________________________________________________ |kran terminala ƒ‘ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ’ ƒš ---------------------------------------- ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš : : ƒš ƒš ---------------------------------------- ƒš ƒš Arg: Fajl:a Str: 10 ƒš ƒ“ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ›ƒ” Ris. 1 ____________________________________________________________ - 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: . 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. 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 parametry 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 , dlya etogo nuzhno nazhat' klavishi 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 7, a komanda - 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. ____________________ 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 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 posle- dovatel'nosti kodov i mogut ispol'zovat'sya kak funkcio- nal'nye klavishi; na terminalah serii VTA 2000 klavishi 0 - 9 vyrabatyvayut upravlyayushchie kody pri odnovremennom 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 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 (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 , a 29 - komanda . Pri etom klavisha 2 sluzhit dlya izmeneniya smysla sleduyushchej komandy (esli nazhat' 9, to vvedetsya komanda ). 2) Esli etoj klaviatury net, to vmesto Cifra nuzhno nazhat' Line FeedCifra (na osnovnoj klaviature), a vmesto 2Cifra - Line Feed Line Feed Cifra. 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 i . 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 . 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 , 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 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 . 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; ____________________________________________________________ Primer "okon" ..................................... .-----------------------------------. .! !! !. .! tekushchee !! eshche odno !. .! "okno" !! "okno" !. .! !! !. .!dlinnaya stroka>! !. .! !! !. .! !! !. .; !! !. .; !! !. .-----------------------------------. .arg: file: a line 10 . ..................................... Ris. 2 ____________________________________________________________ ! - 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; > - stroka prodolzhaetsya za pravuyu granicu "okna". Vse izmeneniya, sdelannye na ekrane, zapominayutsya i pri vyhode iz redaktora po komande (ili po komande q) 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 ), a takzhe vyjti iz redaktora bez zapisi izmenennyh fajlov, vvedya qa. 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 , , ; - zapominat' tekst dlya ispol'zovaniya ego v komande ; - 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 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: red --t a.mx 2) CHerez peremennuyu sh ili csh REDKEYS v forme: setenv REDKEYS [-klyuchi][+klyuchi] (dlya csh); 3) Komandoj redaktora: [-klyuchi][+klyuchi] 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 bez parametrov, pered povtoreniem seansa neobhodimo vosstanovit' ishodnoe sostoyanie redaktiru- emyh fajlov, skopirovav ih pri neobhodimosti iz fajlov s suffiksom .b. 3. KOMANDY REDAKTORA red Komandy red identificiruyutsya komandnymi posledovatel'- nostyami i mogut byt' vvedeny kak s parametrami, tak i bez parametrov: parametry Zdes' i dalee uglovymi skobkami oboznacheny komandy redak- tora, kotorye vvodyatsya s upravlyayushchej klaviatury. 3.1. Vvod parametrov V sluchae komandy s parametrami snachala vvoditsya komanda , zatem parametry i zatem sootvetstvuyushchaya komanda. Tak, naprimer, dlya podvoda k 100 stroke neobhodimo: 1) vvesti komandu (naprimer, nazhav klavishu `1'); 2) nabrat' parametr (v dannom sluchae chislo 100); 3) vvesti komandu (naprimer, nazhav `4'). Sokrashchenno eto zapisyvaetsya tak: 100 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 ; - klavishami so strelkami podvesti kursor k koncu oblasti. Pri etom vydaetsya soobshchenie: * * * ukazanie kursorom * * * - vvesti komandu (naprimer, ). Dlya dvizheniya kursora mozhno ispol'zovat' klavishi so strelkami, , , . 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 >imya), podvodyat kursor k koncu (ili k nachalu sootvetstvenno) ukazyvaemogo uchastka i vvodyat komanda: $imya Rezul'tat ravnosilen ukazaniyu kursorom uchastka fajla ot tochki, zapomnennoj v peremennoj "imya" do tekushchego polozheniya kursora. V komandah , , mozhno srazu vvodit' sootvetstvuyushchuyu komandu bez . Pri vvode parametrov vydaetsya priglashenie "arg:", dlya otmeny neverno nabrannyh simvolov sluzhit (). ________________________________________________________ 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 ________________________________________________________ 3.2. Vosstanovlenie ekrana Pri sluchajnom narushenii izobrazheniya na ekrane terminala ego mozhno vosstanovit', nazhav: CTRL/L ili r 3.3. Dvizhenie kursora vnutri okna 3.3.1. Klavishi so strelkami Pri nazhatii na sootvetstvuyushchuyu klavishu kursor peremeshcha- etsya na odnu poziciyu: - vverh; - vniz; - vpravo; - vlevo. Na granice "okna" proishodit avtomaticheskij sdvig okna po fajlu, esli tol'ko ne ustanovlen klyuch "f". 3.3.2. Komandy i - kursor perehodit v levyj verhnij ugol okna videniya; - kursor perehodit na nachalo sleduyushchej stroki. Esli stroka byla poslednej, "okno" peremeshchaetsya vniz po fajlu. Esli ono nachinalos' ne s 1 kolonki fajla, ono sdvinetsya na pervuyu kolonku; komanda - vvod direktivy redaktora ; 3.3.3. Tabulyaciya (, , ) - tabulyaciya; kursor peremeshchaetsya na ocherednuyu poziciyu tabulyacii. Po umolchaniyu eto - 9, 13, 25, 33, 31, 49, 57, 65 i 73 kolonki; - tabulyaciya nazad. Polnost'yu analogichno , no kur- sor dvizhetsya nazad. Po umolchaniyu - klavisha `.'; - ustanavlivaet novuyu poziciyu tabulyacii v tekushchej kolonke. Po umolchaniyu vvoditsya nazhatiem na 2 klavishi - `2'`5'; - snimaet poziciyu tabulyacii v tekushchej kolonke; 3.4. Redaktirovanie vnutri stroki 3.4.1. Vvod teksta. Rezhim vstavki () 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: - vklyuchit'/vyklyuchit' rezhim vstavki. Po umolchaniyu eto - klavisha `5'; 3.4.2. Unichtozhenie simvolov ( i ) Dlya unichtozheniya simvolov vnutri stroki sluzhat dve komandy: - unichtozhaetsya tekushchij simvol, pravaya chast' stroki sdvigaetsya vlevo na 1 poziciyu. Po umolchaniyu - klavisha `6'; - 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 () 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 (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 &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 (CTRL/A); - vvedite trehznachnyj kod simvola. Simvol (0177) vvoditsya kak #. 3.5. Peremeshchenie po fajlu 3.5.1. Zapominanie mesta v fajle >imya Tekushchee polozhenie kursora zapominaetsya v peremennoj "imya". Zatem eta peremennaya mozhet byt' ispol'zovana v komandah , , , . 3.5.2. Podvod k stroke () V redaktore stroki teksta schitayutsya pronumerovannymi pod- ryad, nachinaya s 1. Dlya podvoda k nuzhnoj stroke sluzhit komanda (po umolchaniyu klavisha `4'). - podvod k nachalu fajla; - podvod k koncu fajla; N - podvod k stroke nomer "N" (N - celoe chislo); $imya - 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'; N<-PAGE> peremeshchaet okno vniz (vverh) na N stranic. Dlya peremeshcheniya okna s tochnost'yu do stroki sluzhat komandy <+/-LINE>; (CTRL/T/CTRL/W): N<+LINE> - vpered na N strok; 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) ; <+LINE> - Sdvinut' "okno" vniz tak, chtoby tekushchaya stroka stala pervoj na ekrane; <+LINE> - Sdvinut' "okno" vverh tak, chtoby tekushchaya stroka stala poslednej na ekrane; 3.5.4. Sdvig okna vpravo/vlevo ( i ) - sdvinut' "okno" vpravo na 30 kolonok; po umolchaniyu `2'. sdvinut' "okno" vlevo na 30 kolonok; po umolchaniyu `2'. N - sdvinut' "okno" vpravo na N kolonok; N - sdvinut' "okno" vlevo na N kolonok; Komanda vypolnyaetsya avtomaticheski, esli pri nabore teksta kursor dostig pravuyu granicu ekrana. Po komande 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: tekst<+SEARCH> 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> 3.7. CHtenie i zapis' fajlov (, ) Komanda (CTRL/D, ili `-') sluzhit dlya pereklyucheniya redaktora s fajla na fajl. Dlya perehoda k redaktirovaniyu novogo fajla sluzhit komanda: imya 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 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 - zapis' tekushchego fajla v arhiv (`2'`-' ili CTRL/V po umolchaniyu). Pri etom ishodnyj variant fajla pereime- novyvaetsya v "staroe imya.b". Posle vypolneniya bez parametrov dlya povtoreniya seansa v sluchae sboya neobhodimo vosstanovit' ishodnoe sostoyanie fajla iz fajla imya.b, poskol'ku izmenilos' ishodnoe sostoyanie redaktiruemyh fajlov. imya Proishodit zapis' tekushchego fajla v fajl "imya". Komanda avtomaticheski vypolnyaetsya dlya vseh izme- nennyh v processe raboty fajlov pri vyhode iz redaktora po komande . 3.7.1. Zapret i razreshenie zapisi v fajl +w - zapretit' izmenenie tekushchego fajla; -w - razreshit' izmenenie (i zapis', esli ona razreshena) redaktiruemogo fajla. 3.8. Perenos, unichtozhenie i vstavka teksta 3.8.1. Komandy i Komanda (razdvinut') pozvolyaet vstavit' probely mezhdu kolonkami, strokami ili v seredinu gruppy strok. - pered tekushchej strokoj vstavlyaetsya pustaya stroka; po umolchaniyu `8' ili PF2. n - pered tekushchej strokoj vstavlyaetsya "n" pustyh strok (gde "n"-celoe polozhitel'noe chislo); - tekushchaya stroka delitsya na dve chasti, nachinaya s teku- shchej kolonki; ukazanie_kursorom $imya - 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 . Komanda dejstvuet protivopolozhno komande , ubiraya iz fajla sootvetstvuyushchuyu chast' teksta: - unichtozhit' tekushchuyu stroku; po umolchaniyu `2'`8' ili PF3. n - unichtozhit' "n" strok, nachinaya s tekushchej; - skleit' tekushchuyu stroku so sleduyushchej, prichem sleduyushchaya stroka prikleivaetsya nachinaya s tekushchej kolonki; ukazanie_kursorom $imya - unichtozhaetsya ukazannyj kusok teksta libo gruppa strok celikom. Pravila ukazaniya s pomoshch'yu kursora prive- deny v razdele . Tekst, udalennyj s pomoshch'yu komandy , popadaet v konec psevdo-fajla "#" i mozhet byt' vstavlen obratno (libo v drugoe mesto) s pomoshch'yu komandy: - tekst, ubrannyj poslednej komandoj , vstavlya- etsya v tekushchee mesto fajla. Psevdo-fajl "#" mozhno prosmotret', vvedya komandu: # Dlya vozvrata v prezhnij fajl sluzhit komanda . >imya - tekst, ubrannyj poslednej komandoj , zapomina- etsya v peremennoj "imya". 3.8.2. Kopirovanie teksta (, ) Dlya kopirovaniya teksta ispol'zuyutsya dve komandy. Komanda (vybrat') pozvolyaet zapisat' v bufer vstavok kusok teksta, kotoryj zatem mozhet byt' vstavlen v proizvol'noe mesto po komande . Vybrannyj tekst popadaet v konec psevdo-fajla "#" i mozhet byt' prosmotren (#) ili vybran zanovo: - vybrat' dlya vstavki tekushchuyu stroku; po umolchaniyu vvo- ditsya klavishej `9'. n - vybrat' n strok, nachinaya s tekushchej; ukazanie_kursorom $imya - vybrat' ukazannyj kursorom uchastok fajla (smotri opi- sanie ). Vybrannyj tekst zanositsya v tak nazyvaemyj "PICK"-bufer (bufer vstavki); >imya - zapomnit' vybrannyj poslednej komandoj tekst v peremennoj "imya". Dlya vstavki teksta v fajl ispol'zuyutsya komandy: - (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); - rabotaet analogichno , no vmesto "PICK"-bufera ispol'zuetsya "CLOSE"-bufer, v kotorom zapominaetsya tekst, isklyuchennyj iz fajla poslednej komandoj ; $imya - tekst iz peremennoj "imya" ("imya" - odna bukva) vstav- lyaetsya v fajl i stanovitsya tekushchim buferom vstavki. 3.9. Rabota s oknami ( i ) Na ekrane terminala mozhno sozdavat' novye "okna" i unich- tozhat' starye. Dlya etogo sluzhit komanda (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. Maksimal'noe chislo okon na ekrane ravno 10. ______________________________