Díky za článek o TVO, ale musím si rýpnout.
1. Myslím, že už jsem ve Vimu něco naprogramoval (např. http://www.vim.org/scripts/script.php?script_id=927), ale že by se ten jazyk podobal C, to jsem si u toho nevšiml. Podobá se C asi jako shell nebo FORTRAN, tj. je procedurální.
2. Evim neodstraňuje *nutnost* přepínání mezi několika módy (tu k efektivní editaci potřebujete stále), ale de facto odstraňuje *možnost* přepínání.
Diky za prispevek a taky za odkaz na zajimavy skript, urcite ho vyzkousim - muze se hodit pro psani HTML.
ad 1. ja jsem to s tou podobnosti myslel tak, ze se pouzivaji operatory se stejnym vyznamem, podobne se zaposuji podminky, cykly, numericke konstanty apod. V tomto se opravdu Vim script podoba spise cecku nez napr. Fortranu. Osobne ale take programuji v LISPu a Forthu (tj. jazycich zalozenych na ponekud jinych myslenkach), proto mi zacinaji vsechny proceduralni jazyky splyvat :-)
ad 2. osobne jsem v Evim rezimu moc nedelal, asi tak pul hodiny (nejak mi ten zpusob editace nesedl), ale mate pravdu. Tam je porad nastaveny Insert nebo Replace mod a pro prepnuti se musi pouzit CTRL+O, ESC nefunguje, takze se po provedeni jednoho prikazu v normalnim rezimu automaticky prepne zpet do Insert/Replace.
bezva, panove vy se s nabidkami predhanite, jen tak dal :-) (vsechny skripty z www.vim.org nemam projite, takze vitam odkazy na ty uzitecne a funkcni)
jenom maly dotaz k tomu skriptu: jakym zpusobem to zjistuje informace o velikosti obrazku? Resp. takto - jde vlozit obrazek bez toho, aby ho to osahavalo pres ImageMagick? Na nekterych systememch ho totiz nemam nainstalovany.
Asi by pomohlo vyhodit ten prikaz system() a trosku si pohrat se substitute(), ze?
No, uz si nepamatuju jak to mam osetrenu, myslim ze bez ImageMagicu ho to vlozi bez rozmeru, ale bez zaruky, tak bych to udlal dnes. Akorat pak uz nebude moc velky duvod to pouzivat.
<br><br>
Jete tam mam jeden skript, pro odsazovani (nejen na zacatku radku) podle odsazeni predchoziho nebo nasledujiciho radku. Mne to prijde docela uzitecne, ale moc lidi to nezaujalo.
Tenhle serial je opravdu moc pekny! Fakt se mi jeste nestalo, abych se na dalsi dily nejakeho serialu tak tesil. Je to napinavejsi nez detektivka. Asi si ten TVO budu muset nainstalovat a vyzkouset :-)
Vim sice pouzivam denne, ale treba o tom ":echo" jsem nevedel (klasicke vi nic takoveho neumi), takze dekuji i za to.
Me zase tesi, ze sa Vam serial libi. TVO si urcite vyzkousejte, myslim si, ze mu prijdete na chut :-)
No, na to echo jsem prisel tak, ze jsem potreboval secist nekolik ctyrcifernych cisel a jelikoz nic jineho nebylo po ruce, tak jsem si precetl dokumentaci k vimu :-)
Jen pozor na to, ze jsou to celociselne operace (:echo 10/3), da se to vsak obejit napriklad pridanim radu pri deleni.
"No, na to echo jsem prisel tak, ze jsem potreboval secist nekolik ctyrcifernych cisel a jelikoz nic jineho nebylo po ruce, tak jsem si precetl dokumentaci k vimu :-)"
Ja pouzivam na scitani a odcitani klavesy CTRL-A a CTRL-X
napisu prvni cislo jako text, pak v normal modu zadat druhe cislo (jako pocet opakovani) a pak CTRL-A (pridat 1 k cislu). no a to same se zbylymi cisly. Stejne tak pro odecitani. Umi i v OCT (cislo zapsane s prvnim znakem 0) a HEX (cislo zapsane 0x), akorat se vzdy musi dalsi cisla zadavat v desitkove soustave.
Pro slozitejsi vypocty pouziju calc -p '10/3;'.
CTRL+A a CTRL+X jsou opravdu nadherne klavesove zkratky. Casto delam ruzne tabulky a tam se hodi. A taky pri psani HTML, napriklad cisel kapitol atd.
Nicmete :echo toho zvladne vic, hlavne se daji psat primo vzorecky se zavorkami atd. Taky je dobre, kdyz se secitaji cisla, ze je videt, co bylo napsano, napr: echo 1234+5678+15456+45646+46456+1646
A pomoci sipecek se da ten prikaz kdykoli pozdeji vyvolat a upravit (napriklad se zapise mezivysledek a provede dalsi operace). Priklad: chci do textu zapsat sumu a prumer:
:echo (4321+4321+64536+76547+5432+6453645+7634)
a zapisu, potom dam sipku nahoru (predchozi prikaz) a dopisu dva znaky "/7":
:echo (4321+4321+64536+76547+5432+6453645+7634)/7
Par dalsich triku:
CTRL+A a CTRL+X se daji s vyhodou pouzit pro prevod DEC->HEX nebo DEC->OCT diky tomu, ze pocet opakovani se vzdy zadava v decimalni soustave. Napr. napisu
0x00 a v normalnim modu 17CTRL-A. Vysledek je 0x11 :-)
Dale: na pocitani ve vim lze vyuzit registr '=': pisete v insert modu a zmacknete CTRL-R= a na spodni ("ex-ovske") radce napisete vyraz. Jeho vysledek se pak vlozi na misto kursoru a vim se vrati do insert-modu.
Oboji se da samozrejme kombinovat s dalsimi vlastnostmi vim. Napr. pokud je v textu uz napsany nejaky vzorec, tak ho oznacim a nasledne pouziji:
cCTRL-R=CTRL-R"<ESC>
a mam ho nahrazeny vysledkem.
No, ja jsem odkojeny Atari 800XL a potom Borlandskymi editory a tam se pouziva modre pozadi :-).
Nejak jsem si na nej po tech letech zvykl a udelal jsem si do .vimrc vlastni sadu ruznych barvicek. Ideove to vychazi z Borland.vim, ktere lze najit na http://www.vim.org, ale mam tam nejake zmeny. Muzu vam poslat svuj .vimrc, z toho muzete barvycky vykuchat.
Tak tady to mate, staci udelat copy & paste na vhodne misto :-) ve .vimrc nebo si primo vytvorit nove barevne schema.
highlight Normal guifg=yellow guibg=#0000aa
highlight NonText guifg=white guibg=#0000aa
highlight Statement guifg=white guibg=#0000aa
highlight Special guifg=cyan guibg=#0000aa
highlight Constant guifg=magenta guibg=#0000aa
highlight Comment guifg=gray guibg=#0000aa
highlight PreProc guifg=green guibg=#0000aa
highlight Type guifg=white guibg=#0000aa
highlight Identifier guifg=white guibg=#0000aa
highlight StatusLine guifg=gray guibg=yellow
highlight StatusLineNC guifg=gray guibg=black
highlight Search guifg=black guibg=gray
highlight VertSplit guifg=gray guibg=black
highlight Directory guifg=green guibg=#0000aa
highlight WarningMsg guifg=red guibg=#0000aa
highlight Error guifg=white guibg=red
highlight Cursor guifg=black guibg=white
highlight Cursor2 guifg=black guibg=#ff8080
highlight Cursor3 guifg=black guibg=lightgreen
highlight Visual guifg=gray guibg=black
highlight Number guifg=yellow guibg=#0000aa
highlight Float guifg=yellow guibg=#0000aa
highlight String guifg=green guibg=#0000aa
highlight Character guifg=magenta guibg=#0000aa
highlight Title guifg=#ffa0ff guibg=#0000aa
highlight Visual guibg=black guifg=#41c0c0
Je pomoci TVO mozne vytvaret i hierarchii propojenych souboru? Tak je to reseno treba v helpu k Vimu. Tim by se docililo i moznosti sitove hierarchie, ktera je obcas zapotrebi. Jako dalsi uzitecnou vlastnost bych videl vkladani odkazu a pripadne i jinych typu souboru (obrazky, PDF, atd.), ktere by se po prevodu takovehoto celku do HTML (prevod zminuje autor na webu) bud primo vlozili nebo zpristupnili jako linky. Pro prohlizeni takoveto veci mi totiz prijde HTML vhodnejsi a navic by to pak bylo pristupne vice lidem bez nutnosti znat Vim a makra TVO.
Propojeni s dalsimi soubory je mozne udelat tak, ze se jejich nazev napise do hranatych zavorek, napr: [readme.txt]. Ovsem funguje to pouze tak, ze se po vybrani tohoto odkazu ten soubor otevre v okne vimu, takze se (bez dalsich uprav) napr. neda otevrit obrazek v nejakem jinem programu. Urcite by to do TVO slo dodelat, napriklad pres prikaz system() - a pripadne mi to jako dobry napad.