% % This file is included by 'slides.tex' and 'preview.tex' % \usepackage {uvodzovky} \usepackage {wasysym} \usepackage {platonsdg-core} % pocitadlo casu prednasky: \def\TIMING#1#2{% \newlinechar`\^^J % prinutime ho oddelovat spravy novym riadkom \message{^^JTIMING: #1 #2^^J} } % zavadenie bezpatkoveho pisma pre folie %\renewcommand{\rmdefault}{cmss} %\slidesmag{4} % % Macros and other stuff /* % 6 - To allow automatic changes of language dependant labels, % for instance by loading french.sty after Seminar % (suggested by Bernard Gaulle (IDRIS) - - Nov. 20, 1997) % Modification Denis Girou begin - Nov. 20, 1997 % From seminar.cls \def\slidename{Slide}% /* \def\slidelabel{\bf\slidename{} \theslide} % From slidesec.sty \def\listslidename{Zoznam fólií}% \makeatletter \def\listofslides{\section*{\listslidename% \@mkboth{\expandafter\MakeUppercase\listslidename}% {\expandafter\MakeUppercase\listslidename}}% \def\l@slide##1##2##3{% \slide@undottedcline{\slidenumberline{##3}{##2}}{}}% \let\l@subslide\l@slide \@startlos} \makeatother% */ % Modification Denis Girou end % cumulative slides: % For overlays, to force to print all preceding ones \makeatletter% /* \def\pst@initoverlay#1{% \pst@Verb{% /BeginOL {dup (all) eq exch TheOL le or {IfVisible not {Visible /IfVisible true def} if} {IfVisible {Invisible /IfVisible false def} if} ifelse} def \tx@InitOL /TheOL (#1) def}} \makeatother% */ \definecolor{LightLightGray}{gray}{0.98} \definecolor{LightGray}{gray}{0.75} \definecolor{Plugin}{gray}{0.6} \def\vimconfig#1{\texttt{vimconfig#1}} \def\plugin#1{\textcolor{Plugin}{\textbf{#1.vim}}} \def\shellexample#1{\codeexample{#1}{shell}} \def\vimexample#1{\codeexample{#1}{Vim}} \def\vimkey#1{\texttt{\blue#1}} %\def\Vim#1{Vim#1} \newsavebox{\linka} \savebox{\linka}{\textcolor{LightGray}{http://Platon.SK/projects/vimconfig}} \newlength{\mylength} \def\codeexample#1#2{% /* \[ \setlength{\fboxsep}{8pt} \setlength{\mylength}{0.7\linewidth} \addtolength{\mylength}{-2\fboxsep} \addtolength{\mylength}{-2\fboxrule} {\boxput(0.83,-1.0){\textcolor{LightGray}{#2}\vspace{1em}{}\strut}{% \fbox{% \parbox{\mylength}{ \setlength{\abovedisplayskip}{0pt} \setlength{\belowdisplayskip}{0pt} \texttt{\blue#1} }} }} \] } % */ \newpagestyle{Lugcon}{}{\strut\hspace{0.6cm}Slide: \thepage\hfil% \raisebox{0pt}[0pt][0pt]{\usebox{\linka}\hspace{0.5cm}\strut} } % vypis jednotiek: /* {\newlinechar`\^^J % prinutime ho oddelovat spravy novym riadkom \message{^^J^^J} \message{Nastavenie rozmerov:^^J} \message{---------------------------^^J} \message{voffset = \the\voffset^^J} \message{hoffset = \the\hoffset^^J} \message{textwidth = \the\textwidth^^J} \message{textheight = \the\textheight^^J} \message{oddsidemargin = \the\oddsidemargin^^J} \message{evensidemargin = \the\evensidemargin^^J} \message{topmargin = \the\topmargin^^J} \message{unitlength = \the\unitlength^^J} \message{parindent = \the\parindent^^J} \message{parskip = \the\parskip^^J} \message{abovecaptionskip = \the\abovecaptionskip^^J} \message{belowcaptionskip = \the\belowcaptionskip^^J} \message{---------------------------^^J^^J} }% */ % % End of macros */ % % % Ostylovanie prednasky: % - v strede velky sivucky napis "Vim" % - vpravo dole sivy napis s linkou na vimconfig \setlength{\slideframewidth}{1pt}% /* \def\bgtext{}% na prvom slide nebude logo Vim \newslideframe{Platon}{% \boxput(0,0){% \scalebox{15.0}{\textcolor{LightLightGray}{\expandafter\bgtext}}% }{% %\boxput(0.5,-1){% %\rput{0}{\usebox{\linka}} %}{% #1% %\usebox{\linka} %}% }% } % */ \slideframe{Platon} %\slideframe*{scplain} \slideframe*{shadow} \centerslidesfalse \begin{document} \title{Prednáška o textovom editore "Vim"} \pagestyle{empty} % UVOD /* \begin{slide} \begin{center} \strut{}\vfill {\huge Textový editor Vim\\} \texttt{\blue http://www.vim.org}\\ \strut{}\strut\\ {\large Mgr. Ľubomír Host}\\ \texttt{\footnotesize } \\ \strut{}\strut\\ {\large Združenie Platón}\\ {\footnotesize nezisková organizácia na podporu otvoreného softvéru} \\ \texttt{\blue http://www.platon.sk}\\ \vfill{}\strut \end{center} \end{slide} % */ \def\bgtext{Vim}% zapneme logo "Vim" na pozadi slajdov \pagestyle{Lugcon}% a hodime cislo slajdu + linku na vimconfig do paty stranky % osnova prednasky /* \begin{slide} \slideheading{Osnova prednášky} \begin{itemize} \item \overlay{0}{trochu teórie na úvod} \item \overlay{1}{ako začať písať v editore}\\ \overlay{2}{\dots a ako editor ukončiť \smiley} \item \overlay{3}{efektívnejšie používanie editora Vim} \item \overlay{4}{prehľad najlepších vlastností editora} \item \overlay{5}{programové rozšírenia -- pluginy} % \item \overlay{6}{to najlepšie na záver: pripojenie do % databázy textovým editorom (predstavenie % vlastného pluginu \plugin{database-client})} \end{itemize} \end{slide} % */ \TIMING{2}{min} % pouzite znacky /* \begin{slide} \slideheading{Použité značky} \begin{itemize} \item príkaz zadávaný v~interprete príkazov (shelli): \shellexample{vim slides.tex} \item príkaz zadávaný v~editore Vim: \vimexample{:set hlsearch} \item klávesy, ktoré treba \uv{postláčať}: \vimkey{5dd} \end{itemize} \end{slide} % */ \TIMING{1}{min} % end UVOD */ % projekt vimconfig /* \begin{slide} \slideheading{Editor Vim} \begin{itemize} \item \overlay{0}{Domovská stránka projektu:\\\URL{http://www.vim.org}} \item \overlay{1}{Dokumentácia:\\\URL{http://vimdoc.sourceforge.org}} \end{itemize} \end{slide} % */ \TIMING{2}{min} % projekt vimconfig /* \begin{slide} \slideheading{Projekt \vimconfig{}} \begin{itemize} \item \overlay{0}{Dostupný na adrese:\\\URL{http://Platon.SK/projects/vimconfig}} \item \overlay{1}{Jednoduchá inštalácia: \shellexample{\mbox{tar xvzf vimconfig-1.11.tar.gz}\\cd vimconfig-1.11\\make install} } \item \overlay{2}{Získanie aktuálnej verzie priamo z CVS: \URL{http://Platon.SK/article.php?cvs::instructions} \shellexample{% %CVSROOT=:"pserver:anonymous@cvs.platon.sk:/home/cvs" %cvs -d \$CVSROOT login\\ %cvs -d \$CVSROOT co vimconfig} less vimconfig-1.11/README} } \end{itemize} \end{slide} % */ \TIMING{2}{min} % mody textoveho editora Vim /* \begin{slide} \slideheading{Módy editora Vim} \begin{itemize} \item \overlay{0}{6 základných módov} \begin{enumerate} \item \overlay{2}{\textbf{Normal mode} -- po normálnom spustení editora} \item \overlay{3}{\textbf{Visual mode} -- po stlačení kláves \vimkey{v~V~CTRL-V}} \item \overlay{4}{\textbf{Select mode} -- po stlačení kláves \vimkey{v~V~CTRL-V}, záleží od nastavenia voľby \vimkey{'selectmode'}} \item \overlay{5}{\textbf{Insert mode} -- po stlačení kláves \vimkey{i~I~a~A~c~C~s~S}} \item \overlay{6}{\textbf{Command-line mode} -- po stlačení kláves \vimkey{: ? / !}} \item \overlay{7}{\textbf{Ex mode} -- po stlačení klávesy \vimkey{Q}} \end{enumerate} \end{itemize} \end{slide} % */ \TIMING{2}{min} % rozsirene mody editora /* \begin{slide} \begin{itemize} \item \overlay{0}{5 rozšírených módov} \begin{enumerate} \item \overlay{1}{\textbf{Operator-pending mode} -- po stlačení príkazovej klávesy (napr.~\vimkey{d~c~y}) v~režime \textbf{Normal}} \item \overlay{2}{\textbf{Replace mode} -- špeciálny typ \textbf{Insert} módu} \item \overlay{3}{\textbf{Insert Normal mode} -- po stlačení klávesy \vimkey{CTRL-O} v~\textbf{Insert} móde} \item \overlay{4}{\textbf{Insert Visual mode} -- po stlačení klávesy \vimkey{CTRL-O}~+~\vimkey{v~V~CTRL-V} v~\textbf{Insert} móde} \item \overlay{5}{\textbf{Insert Select mode} -- po ťahaní myšou v~\textbf{Insert} móde} \end{enumerate} \end{itemize} \end{slide} % */ \TIMING{2}{min} % ako zacat /* \begin{slide} \slideheading{Ako začať\dots} \begin{itemize} \item \overlay{0}{spustenie editora \shellexample{vim prednaska.tex} } \item \overlay{1}{ukončenie editora {\red bez} uloženia zmien \vimexample{:qa!} } \item \overlay{2}{uloženie zmien v~súbore a~ukončenie editora \vimexample{:wq} } \end{itemize} \end{slide} % */ \TIMING{1}{min} % pisanie /* \begin{slide} \begin{itemize} \item \overlay{0}{začať písať možno po stlačení klávesy \vimkey{i}, po napísaní textu stlačiť \vimkey{:wq} } \item \overlay{1}{získať pomoc k~danému kľúčovému slovu možno príkazom \vimexample{:help\\:help motion.txt\\:help getwinposx()\\:help CTRL-W\_P\\:help BufWritePost\\:help 'nocompatible'} } \item \overlay{2}{pri prázdnej konfigurácií textového editora použiť príkazy: \vimexample{:set nocompatible\\:syntax on} } \end{itemize} \end{slide} % */ \TIMING{2}{min} % konfiguracia /* \begin{slide} \slideheading{Konfigurácia} \begin{itemize} \item \overlay{0}{nastavenia možno ukladať do súboru \texttt{\~{}/.vimrc}, prípadne do \texttt{\~{}/.gvimrc} } \item \overlay{1}{zásuvné moduly (pluginy) -- \texttt{\~{}/.vim/plugin/} } \item \overlay{2}{nastavenia podľa typu súboru -- \texttt{\~{}/.vim/ftplugin/} } \item \overlay{3}{projekt \vimconfig{} má konfiguráciu uloženú v~CVS, preto bol vyvinutý systém, ako mať rôzne nastavenia na rôznych serveroch pre rôznych užívateľov rozdelenú do viacerých súborov.\\Viď neskôr plugin \plugin{local/vimrc} } \end{itemize} \end{slide} % */ \TIMING{1}{min} % pohyb kurzora v texte /* \begin{slide} \slideheading{Pohyb kurzora v texte} \begin{itemize} \item \overlay{0}{klasické klávesy -- \vimkey{h~j~k~l}} \item \overlay{1}{smerové šípky -- \vimkey{~~~}} \item \overlay{2}{pohyb po stránkach -- \vimkey{~}} \item \overlay{3}{na začiatok súboru -- \vimkey{gg~1G}} \item \overlay{4}{na koniec súboru -- \vimkey{G}} \item \overlay{5}{na dané číslo riadku -- \vimkey{135G}} \item \overlay{6}{na začiatok riadku -- \vimkey{0}} \item \overlay{7}{na koniec riadku -- \vimkey{\$}} \item \overlay{8}{na prvý neprázdny znak riadku -- \vimkey{\^}} \item \overlay{9}{pohyb po slovách -- \vimkey{w~W~e~E}} \end{itemize} \end{slide} % */ \TIMING{3}{min} % pohyb ... /* \begin{slide} \begin{itemize} \item \overlay{0}{skok \textbf{dopredu} na dané písmenko v aktuálnom riadku -- \vimkey{fb~tb}} \item \overlay{1}{skok \textbf{dozadu} na dané písmenko v aktuálnom riadku -- \vimkey{Fb~Tb}} \item \overlay{2}{pohyb po vetách v odstavci -- \vimkey{(~)}} \item \overlay{3}{ďalšie možnosti pohybu v texte \vimexample{:help motion.txt}} \end{itemize} \end{slide} % */ \TIMING{1}{min} % registre /* \begin{slide} \slideheading{Využívanie registrov} \begin{itemize} \item \overlay{0}{bežné editory majú iba jeden register schránky (clipboard)} \item \overlay{1}{Vim ich má \textbf{48}, rozdelených na \textbf{9} typov} \item[] \overlay{2}{ \begin{enumerate} \item bezmenný register \vimkey{""} \item 10 číslovaných registrov \vimkey{"0} to \vimkey{"9} \item malý mazací register \vimkey{"-} \item 26 pomenovaných registrov \vimkey{"{}a} až \vimkey{"{}z} alebo \vimkey{"{}A} až \vimkey{"Z} \item 4 registre iba na čítanie \vimkey{":}, \vimkey{".}, \vimkey{"\%} a~\vimkey{"\#} \item výrazový register \vimkey{"{}=} \item označovacie a mazacie registre \vimkey{"{}*}, \vimkey{"+} a~\vimkey{"\~} \item register \uv{čierna diera} \vimkey{"\_} \item register s~vyhľadávacím vzorom \vimkey{"/} \end{enumerate} } \end{itemize} \end{slide} % */ \TIMING{2}{min} % operacie s registrami /* \begin{slide} \slideheading{Operácie s registrami} \begin{itemize} \item \overlay{0}{prezeranie registrov -- \vimkey{:reg}} \item \overlay{1}{vloženie textu do registra -- \vimkey{y~Y~"{}aY}} \item \overlay{2}{opätovné vloženie textu z~registra -- \vimkey{p~P~"{}xp}} \item \overlay{3}{nahratie kombinácie kláves do registra -- \vimkey{qa} \dots klávesy \dots \vimkey{q}} \item \overlay{3}{vykonanie registra -- \vimkey{@a}} \end{itemize} \overlay{4}{ \vimexample{:help yank\\:help put\\:help registers\\:help recording} } \end{slide} % */ \TIMING{2}{min} % makra /* \begin{slide} \begin{description} \overlay{0}{\item{\textbf{Úloha:}}~v súbore sú uložené dátové záznamy, z ktorých každý má 5~riadkov. Preveďte tieto záznamy do jednoriadkového formátu.} \begin{itemize} \item \overlay{1}{zmazať prvé slovo, spojiť s druhým riadkom, na treťom riadku vymazať posledné slovo, \dots, ďalší záznam} \end{itemize} \overlay{2}{\item{\textbf{Riešenie:}}\overlay{3}{~zapamätám si klávesy do registra a ten nechám vykonať 1000 krát!}} \overlay{4}{\item{\textbf{Postup:}} \begin{itemize} \item \overlay{5}{zapnem nahrávací mód klávesou \vimkey{q} a~vyberiem si register \vimkey{a}} \item \overlay{6}{vykonám úpravy na prvom zázname a klávesou \vimkey{q} ukončím nahrávací mód} \item \overlay{7}{na druhom zázname už len vykonám tie isté úpravy vyvolaním registra -- \vimkey{@a}, prípadne \vimkey{998@a}} \end{itemize} } \end{description} \end{slide} % */ \TIMING{2}{min} % editovanie viacerych suborov /* \begin{slide} \slideheading{Editovanie viacerých súborov naraz} \begin{itemize} \item \overlay{0}{Vim štandardne otvorí iba jedno okno \shellexample{vim x.sql~test.txt~index.html} \vimexample{:next\\:previous} } \item \overlay{1}{otvorenie ďalšieho okna \vimexample{:split test.txt\\:vsplit index.html} } \item \overlay{2}{prepínananie medzi oknami -- \vimkey{ p 3} } \end{itemize} \end{slide} % */ \TIMING{2}{min} % zlucovanie zmien vo viacerych verziach /* \begin{slide} \slideheading{Zlučovanie zmien vo viacerých verziách súboru} \begin{itemize} \item \overlay{0}{máme dve (alebo tri) rozličné verzie zdrojového kódu a~samozrejme nepoužívame CVS ani Subversion~\smiley \shellexample{diff -u verzia1.c verzia2.c} } \item \overlay{1}{spustíme \textbf{vimdiff} a~súbory zeditujeme: \shellexample{vimdiff verzia1.c verzia2.c} } \end{itemize} \end{slide} % */ \TIMING{1}{min} % skryvanie kodu - folding /* \begin{slide} \slideheading{Sprehľadňovanie programov\\skrývaním kódu -- folding} \begin{itemize} \item \overlay{0}{výhoda nekonečného papiera -- časť možno zložiť do harmoniky (vytvoriť záhyb) a~na chvíľu skryť } \item \overlay{1}{telá funkcií vo zvláštnych záhyboch, zložité zanorenia a cykly vo zvláštnych záhyboch } \item \overlay{2}{rôzne metódy vytvárania záhybov: \textbf{manuálna}, \textbf{odsadzovacia}, \textbf{výrazová}, \textbf{značkovacia}, \textbf{syntaxová}, \textbf{rozdielová}} \item \overlay{3}{podrobnejšie informácie: \vimexample{:help folding}} \end{itemize} \end{slide} % */ \TIMING{3}{min} % nastavenie foldingu /* \begin{slide} \begin{itemize} \item \overlay{0}{nastavenie metódy skrývania \vimexample{:set foldmethod=marker\\:set foldmethod=manual\\:set foldcolumn=3}} \item \overlay{1}{štandardné značky \vimkey{\{\{\{} a~\vimkey{\}\}\}}} \item \overlay{2}{otvorenie záhybu -- \vimkey{zo}} \item \overlay{3}{zatvorenie záhybu -- \vimkey{zc}} \item \overlay{4}{vytvorenie záhybu -- \vimkey{zf}} \item \overlay{5}{zrušenie záhybu -- \vimkey{zd}} \end{itemize} \end{slide} % */ \TIMING{3}{min} %\begin{slide} % \slideheading{Mapovanie kláves} % \begin{itemize} % \item \overlay{0}{ % slide 1 % } % \item \overlay{1}{ % slide 2 % } % \end{itemize} %\end{slide} % */ % automaticky spustane prikazy /* \begin{slide} \slideheading{Automaticky spúšťané príkazy} \begin{itemize} \item \overlay{0}{\textbf{autocommands} \vimexample{:help autocmd} } \item \overlay{1}{po uložení konfiguračného súboru \texttt{httpd.conf} spraviť reštart webservera: \shellexample{vim /etc/apache/httpd.conf} \vimexample{% :au BufWritePost *.conf :wall\\ :au BufWritePost *.conf \strut~~~~:!/etc/init.d/apache~reload } } \end{itemize} \end{slide} % */ \TIMING{2}{min} % automaticke sadzanie LaTeXom /* \begin{slide} \begin{itemize} \item \overlay{0}{vysádzať \LaTeX{ovský} dokument po uložení súboru: \vimexample{% :au BufWritePost *.tex :wall\\ :au BufWritePost *.tex :!make } } \item \overlay{1}{automaticky načítať uloženú konfiguráciu Vimu: \vimexample{% :au BufWritePost \~{}/.vimrc \strut~~~~:source~\~{}/.vimrc } } \end{itemize} \end{slide} % */ \TIMING{1}{min} % debugger regularnych vyrazov /* \begin{slide} \slideheading{Debugger regulárnych výrazov} \begin{itemize} \item \overlay{0}{chcem sa to konečne naučiť!} \item \overlay{1}{vôbec mi to nefunguje \dots} \item \overlay{2}{môj problém je naozaj \textbf{zložitý}} \end{itemize} \overlay{3}{ \shellexample{vim /var/log/httpd-access.log} \vimexample{% :set nowrap\\ :set hlsearch\\ :set incsearch\\ % % vysadzat text z nasledovneho riadku je BRUTALITA !!! % %/^[^ ]* - - \[09\/Feb\/2004[^"]* "GET %{\small/\^{}$[$\^{}~$]$*~-~-~$\backslash[09\backslash/$Feb$\backslash/2004[$\^{}"$]$*~"GET} %/^\([^ ]*\).*\[09\/Feb\/.* "GET \([^ ]*\) \mbox{\small/\^{}$\backslash([$\^{}~$]\!*\!\backslash)$.*$\backslash[09\backslash/$Feb$\backslash/$.*~"GET~$\backslash([$\^{}~$]\!*\!\backslash)$} } } \end{slide} % */ \TIMING{2}{min} % rozsirenia textoveho editora /* \begin{slide} \slideheading{Rozšírenia textového editora (pluginy)} \begin{itemize} \item \overlay{0}{možnosť doprogramovať si takmer ľubovoľnú vlastnosť v~skriptovacom jazyku \textbf{Vimscript}} - konfiguračné súbory, syntaxové súbory \item \overlay{1}{možnosť doprogramovať rozšírenia v inom skriptovacom jazyku: \textbf{Perl, Python, Ruby, Tcl}} \end{itemize} \end{slide} % */ \TIMING{1}{min} % pluginy pouzite vo vimconfigu /* \begin{slide} \slideheading{Pluginy použité vo \vimconfig{u}} \begin{itemize} \item \overlay{0}{\plugin{taglist} -- \vimkey{:Tlist}\\ -- zoznam funkcií a~premenných v aktuálne editovanom súbore} \item \overlay{1}{\plugin{calendar} -- \vimkey{:Calendar}\\ -- kalendár s možnosťou písať si poznámky pre daný deň} \item \overlay{2}{\plugin{increment} -- \vimkey{:Inc}\\ -- vytváranie stĺpčekov s~rastúcou postupnosťou čísel} \item \overlay{3}{\plugin{templatefile}\\ -- načítanie šablóny do novo vytváraného súboru, vytvorenie hlavičky s menom autora, aktuálnym dátumom, \dots} \item \overlay{4}{\plugin{local/vimrc}\\ -- sada konfiguračných súborov Vimu pre rôznych užívateľov\\ -- predefinovanie globálnych nastavení podľa požiadaviek užívateľa} \end{itemize} \end{slide} % */ % vkladanie diakritiky /* \begin{slide} \begin{itemize} \item \plugin{diacritics}\\ písanie textu s~diakritikou v~požadovanom kódovaní bez ohľadu na použitú klávesnicu, typ terminálu, grafické prostredie, operačný systém, \dots %\item \overlay{6}{\plugin{database-client}} \end{itemize} \end{slide} % */ \TIMING{4}{min} %% database-client /* %\begin{slide} % \slideheading{Modul \plugin{database-client}} % \begin{description} % \item[Popis:] \overlay{0}{priame pripojenie do databázy textovým % editorom Vim} % \item[Implementácia:] \overlay{1}{Vimscript, Perl, SQL} % \item[Cieľ:] \overlay{2}{vytvoriť rozhranie, ktoré spojí % editačné schopnosti textového editora s~organizáčnými % schopnosťami databázy} % \item[Situácia:] \textbf{neuspokojivá}, málo prenositeľných % použiteľných nástrojov na správu databázy: MySQL-Front, % TOra, mysql-navigator, textový mysql klient % \end{description} %\end{slide} % */ %\TIMING{3}{min} % %% stav vyvoja /* %\begin{slide} % \slideheading {Stav vývoja} % \begin{itemize} % \item \overlay{0}{pripojenie do databázy a odpojenie} % \item \overlay{1}{viacero simultálnych spojení} % \item \overlay{2}{vytvorenie viacerých okien pre prácu} % \item \overlay{3}{základy užívateľského menu} % \item \overlay{4}{zistenie zoznamu databáz} % \item \overlay{5}{vykonanie SQL príkazu} % \item \overlay{6}{získanie dát z databázy} % \item \overlay{7}{zaznamenanie vykonaného príkazu} % \item \overlay{8}{základné zvýrazňovanie syntaxe} % \end{itemize} %\end{slide} % */ %\TIMING{2}{min} % % ZAVER /* %\begin{slide} % \slideheading{TODO} % \begin{itemize} % \item \overlay{0}{Dokumentácia!!!} % \item \overlay{1}{\bf Dokumentácia!!!} % \item \overlay{2}{\large\bf Dokumentácia!!!} % \item \overlay{3}{dokončiť používateľské rozhranie} % \item \overlay{4}{zlepšiť zobrazovanie údajov z databázy} % \item \overlay{5}{implementovať inteligentné rozhranie na % pridávanie a aktualizovanie záznamov v databáze} % \item \overlay{6}{Spolupracovníci sú \red\bf vítaní \dots} % \end{itemize} %\end{slide} %\TIMING{3}{min} \def\bgtext{}% vypneme logo "Vim" \begin{slide} \slideheading{Záver} \begin{center} \strut{}\vfill {\large\bf Ďakujem za pozornosť}\\ \strut{}\strut\\ {\large Mgr. Ľubomír Host}\\ \texttt{\footnotesize }\\ \strut{}\strut\\ {\large Združenie Platón}\\ {\footnotesize združenie na podporu otvoreného softvéru} \\ \texttt{\blue http://www.platon.sk}\\ \vfill{}\strut\\ \tiny{Powered by: \\ Vim, \LaTeX, GNU/Linux Debian, MySQL, Perl, \vimconfig{} \\ PLaTos -- \URL{\blue http://platos.platon.sk/} }\\ {}\strut\\% odvolavka na MySQL a Perl tu je kvoli pludinu database-client.vim \end{center} \end{slide} % */ \TIMING{1}{min} %\begin{slide} % \listofslides %\end{slide} % */ % end ZAVER */ \end{document} % vim: ts=4 % vim600: fdl=0 fdm=marker fdc=3 fmr=/*,*/ tw=120