Tekstiredaktorid

teejuht
 
1.
Sissejuhatus
2.
cat
3.
tee
4.
joe
5.
ed
6.
jed
7.
vi, vim
8.
pico
9.
emacs
10.
staroffice
11.
TeX
12.
LaTeX
 
1. Sissejuhatus

Püüan kirjeldada mulle tuttavaid tekstifaili loomise võimalusi linuxis. On olemas tõepoolest palju variante, neist tuleb valida optimaalne arvestades teksti edasist teed:
 
teksti iseloomustus otstarve programm
nn. ASCII tekst kopilleerimiseks, scriptid, email jm. tehnilised vajadused joe, jed, cat, tee, ed, vi, vim, pico, emacs
tekst täheomadustega nt. kontoripaberid staroffice
tekst täheomadustega nt. raamatud, manuaalid TeX, LaTeX

All tutvustame tekstiredaktoreid põgusalt - eesmärgiga, et kui sinna sattuda, siis peaks ära tundma millisega on tegemist ja oskama ära teha paar liigutust: salvestada, avada, sulgeda, väljuda.
 

2. cat

Eks see cat siin ühes reasTeX-iga nali rohkem ole aga vähest temast täiesti piisab.

bash# cat > all.the.lonely.people
tere,
minu nimi on onu arvo ja ma kogun võtmeid
lapsed, saatke mulle oma kodu võti ja
aadress. Siis ma tulen teie külla
bash#

Nii, pärast sõna külla tuleb anda End'i märk, so. Ctl + d.
Harjuma peab siin sellega, et ülemistele ridadele ei saa liikuda ja olemasolevaid faile nii ei maksa redigeerida. Külla aga saab sisu vaadata:

bash# cat all.the.lonely.people (või cat < all.the.lonely.people)
tere,
minu nimi on onu arvo ja ma kogun võtmeid
lapsed, saatke mulle oma kodu võti ja
aadress. Siis ma tulen teie külla
bash#

Kui soovite olemasolevale failile midagi lõppu juurde kirjutada, siis nii:

bash# cat >> all.the.lonely.people
 
ja lapsed, kirjutage mulle kunas teie vanemad tööl on;
ma olen väga häbelik.

Onu Arvo
bash# cat all.the.lonely.people
tere,
minu nimi on onu arvo ja ma kogun võtmeid
lapsed, saatke mulle oma kodu võti ja
aadress. Siis ma tulen teie külla

ja lapsed, kirjutage mulle kunas teie vanemad tööl on;
ma olen väga häbelik.

Onu Arvo
bash#

3. tee
 
 see on cat'ile väga sarnane.  Ta kirjutab sisendi standard outputi ja faili. Võtmega -a saab teha appendi.

bash# tee oioi
see tekst läheb faili ja tuleb veel ekraanile
see tekst läheb faili ja tuleb veel ekraanile
mina pole osav tee kasutaja
mina pole osav tee kasutaja
bash# cat oioi
see tekst läheb faili ja tuleb veel ekraanile
mina pole osav tee kasutaja
bash#
 

4. joe

See on juba (harjumuspäraste) võimalustega tekstiredaktor:

saab:

- korraga avada mitu faili
- kopeerida hiire ja klahvidega ühe faili piires ja failide vahel
- otsida ja asendada
- liikuda tekstis ringi
- teha spellcheck'i
- omistada klahvidele tähendusi (nt. õ tekitab &otilde; kui failil on html laiend)

käivitage joe

bash #joe ahoi

ja üleval ääres on kiri

    IW   ahoi.html (Modified)         Row 1    Col 31  10:21  Ctrl-K H for help

ning reageerige sellele - Ctrl - k, h  (teises sümboolikas ^KH) annab help'i:

   Help Screen    turn off with ^KH    more help with ESC . (^[.)  
 CURSOR           GO TO            BLOCKDELETE   MISC         EXIT
 ^B left ^F right ^U  prev. screen ^KB begin  ^D char. ^KJ reformat ^KX save
 ^P up   ^N down  ^V  next screen  ^KK en^Y line  ^T  options  ^C  abort
 ^Z previous word ^A  beg. of line ^KM move   ^W >word ^R  refresh  ^KZ shell
 ^X next word     ^E  end of line  ^KC copy   ^O word< ^@  insert   FILE
 SEARCH           ^KU top of file  ^KW file   ^J >line SPELL        ^KE edit
 ^KF find text    ^KV end of file  ^KY delete ^_ undo  ^[N word     ^KR insert
 ^L  find next    ^KL to line No.  ^K/ filter ^^ redo  ^[L file     ^KD save
    IW   ahoi.html (Modified)         Row 1    Col 31  10:23  Ctrl-K H for help
 

help'i on mitu akent ja nende vahel saab liikuda:

Esc , . - edasi
Esc, ,  - tagasi

(st. vajutage ja laske lahti Escape klahv ning seejärel tehke sama punki klahviga (või koma klahviga)).
 

Kopeerimise näide (help'ist):

^KB - bloki algus
^KK - bloki lõpp
^KC - kopeerimine

Ja karu elas metsas rahulikult ja huvitavalt:
sõi mesilasi, vaatas tähti ja raakis puudele
(eriti meeldisid talle kuused)
jutte. Nii see aeg möödus ja kui karu pole veel

Kui nüüd kavatseda kopeerida sulgudes olev tekst kõige alla (nö. viiendaks reaks) siis tuleb käituda nii:

1. viime kursori esimese sulu juurde
2. hoides all Ctl -i vajutage k tähe klahvile, laske k lahti ja Ctl lahti, vajutage lihtsalt kord b klahvile
3. viime kursori teise sulu juurde
4. sarnaselt 2. punktile ^KK
5. viime kursori neljanda rea lõppu ja vajutame reavahetust (nüüd on ta tulevase teksti juures)
6. sarnaselt 2. punktile ^KC

Aga edasi uurige help'ist juba ise!
 

5. ed

See on nö. line editor (teisi nimetatakse visual editorideks). Selles redaktoris on olemas ka tekstis liikumise ja asendamise võimalused, aga need on mitte nii läbinähtavad kui joe's. Vist.
Aga põhiline ideloloogia seisneb selles, et ed töötab kahes nö. mode'is:

- command
- input

command mode's on olulised käsud:

a - append (ka uues faili loomisel)
w - kirjutab faili
q - lõpetab programmi töö

input mode'i käsud:

. - väljub input moodist

Loome faili nimega tere_kool:

 1. bash# ed -p command tere_kool
 2. tere_kool: No such file or directory
 3. commanda
 4. kas sügisest näeb ära kevade või
 5. talve või ainult sügise
 6. oh, aino kallas seda teaks,
 7. mitmel rinnal hingata vast hea
 8. .
 9. commandw
10. 117
11. commandq
12. bash#

Selgitus:

1. '-p command' võti annab command promptile kuju 'command'
2. kuna faili tere_kool veel pole on ed natuke pahane
3. alguses satutakse kohe command prompt'i millest annab tunnistust 'command';
    asume tühjale failile teksti lisama - a (läheme input  mode'i)
4. sisestame teksti
5.
6.
7.
8. väljume input mode'st - . ja sattume tagasi command mode'i
9. anname käsu sisestatud tekst salvestada (w)
10. näitab mitu sümbolit sisestati 117
11. väljume ed-ist - q

Sama asja oleks võinud teha ka selliselt (nö. veateatevabalt):

bash# ed -p kasuprompt
kasuprompta
tere, nüüd kirjutame ivake teksti
aga nime anname alles salvestamisel
.
kasupromptw nimi_hiljem
70
kasupromptq
bash#

6. jed

7. vi, vim

8. pico

See on paljudele tuttav programmist pine. Kui juba joe'ga on kogemus, siis ei tohiks siin probleeme olla. Ekraani all on kõik kirjas.

9. emacs

Emacs olla suutre poiste tekstiredaktor

Kui muudest redaktoritest räägitakse nii, et nad avavad kas ühe või enam faili ja siis lasenvad nendega tegeleda. Ning lõpus neid salvestada. Siis Emacsiga on lugu järgmine.

Avatud failid lõetakse iga üks oma bufrisse ja teksti redigeerimine on tegelikult selle bufri redigeerimine. savestamisel kirjutatakse bufri sisu faili .

Ilmselt kasutavad ka nn. muud tekstiredaktorit kah mingeid bufreid aga nii sellest vaähemalt räägitakse Emacsi puhul.

Praktiline külg:
 
 
Faili avamine (olemasoleva või uue) Find File C-x C-f
Faili sulgemine (ilma salvestamate) File Close
Tegevuse Katkestamine Cancel anytihng C-g
Bufrite Salvestamine C-x, C-s; C-x, s - koik avatud buhvrid
programmi sulgemine C-x, C-c
Faili see liikumine Moving around text
Ekraan üles, alla C -v, M-v
Rida üles, alla C-n, C-p
Sümbol edasi, tagasi C-f, C-b
Sõna edasi, tagasi M-f, M-b
Lause edasi, tagasi M-a, M-e
Rea lõppu, algusse C-e, C-a
Bufri lõppu, algusse C-<, C-> (vajadusel hoida S all)
liikumine edasi 8 kohta, sarnalselt teised likumiskorraldused C-u, 8 C-f või M-8, C-f
viib rea ülemisse äärde C-u, 0, C-l
Buhvrite vahel (akende) liikumine
Sama bufri kahte aknasse kuvamine C-x, 2
Bufrite nimekirja avamine eraldi aknasse, Tulemusena saab alla nimekirja mis on avatud. C-x, C-b
ülemisse aknasse uue bufri avamine C-x, b, puhvri nimi (töötab TAB-compliteon), Return
buhvri sulgemine C-x, 1
buhvrite vahel liikumine C-x, o
Help'i küsimine
Tutoriali avamine C-h, t
Info  C-h, i
kasu kohta, nt C-f C-h, k, C-f
Teksti sisestamine
samad sümbolid reas C-u, 6, ?
eelmise tähe kustutamine Delete klahv
järgmise tähe kustutamine C-d
eelmise sõna kustutamine M-Delete klahv
järgmise sõna kustutamine M-d
kursorist rea lõpuni puhtakse C-k
kursorist lause lõpuni puhtakse M-k
hävitatud teksi panemine teise kohta  yank C-y, varasemad M-y
undo undi C-x, u
suspending C-z
replaceing M-x, replace-string (command comp.) mida otsida, millega asendada
search incremental search C-s, mida otsime, C-s
 
 
10. staroffice - X-i jaoks

See on tegelikult üks programmide pakett - sarnane MS Office'ile:

- tekstitöötlus
- tabelarvutus
- presentatsioon
 
11. TeX
 

12. LaTeX

tere