summaryrefslogtreecommitdiffstats
path: root/tde-i18n-sk/docs/tdebase/kate/advanced.docbook
blob: bf50acb8a926cb8b5145166a6a3c4dbd27f86a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
<chapter id="advanced-editing-tools">
<title
>Pokročilé nástroje pre editovanie</title>

<sect1 id="comment">

<title
>Zakomentovať/odkomentovať</title>

<para
>Príkazy pre zakomentovanie a odkomentovanie sú dostupné z menu <guimenu
>Nástroje</guimenu
>. Umožňujú pridať alebo odstrániť značky komentára do výberu alebo na aktuálny riadok v prípade, že žiadny text vybraný nie je. Komentáre sú podporované formátom textu, ktorý editujete.</para>

<para
>Pravidlá na to, ako sa označujú komentáre, sú definované v definícii syntaxu, takže ak nie je zvýraznenie použité, zakomentovanie a odkomentovanie nie je možné.</para>

<para
>Niekto formáty definujú komentáre je jeden riadok, niektoré pre viac riadkov naraz a niektoré obidva typy. Ak nie sú dostupné pravidlá pre viac riadkov, posledný riadok výberu nebude zakomentovaný.</para>

<para
>Ak sú dostupné komentáre pre jeden riadok, zakomentovaniu jedného riadku sa dáva prednosť, pretože to bráni problémom s vnorenými komentármi.</para>

<para
>Pri odkomentovaní by nemal byť vybraný žiadny text. Pri odstraňovaní viacriadkových komentárov z výberu sa ignorujú všetky medzery okolo značiek komentárov.</para>

<para
>Pre umiestnenie značiek komentárov použite <menuchoice
><guimenu
>Nástroje</guimenu
><guimenuitem
>Zakomentovať</guimenuitem
></menuchoice
> alebo klávesovou skratku, štandardne <keycombo action="simul"
>&Ctrl;<keycap
>#</keycap
></keycombo
>.</para>

<para
>Pre odstránenie značiek komentárov použite <menuchoice
><guimenu
>Nástroje</guimenu
><guimenuitem
>Odkomentovať</guimenuitem
></menuchoice
> alebo klávesovú skratku, štandardne <keycombo action="simul"
>&Ctrl;&Shift;<keycap
>#</keycap
></keycombo
>.</para>

</sect1>

<sect1 id="edit-command">

<title
>Príkaz pre editovanie</title>

<para
>Tento nástroj dostupný z menu <menuchoice
><guimenu
>Nástroje</guimenu
><guimenuitem
>Príkaz pre editovanie</guimenuitem
></menuchoice
> poskytuje prístup k malej skupine príkazov v štýle <application
>vi</application
>/<application
>vim</application
>. Je určený hlavne pre skúsených používatelov, ale nebojte sa využiť jeho možnosti!</para>

<para
>Momentálne sú dostupné tieto príkazy:</para>

<variablelist
> <varlistentry
> <term
><command
>čas</command
></term
> <listitem
> <para
>Tento príkaz vygeneruje aktuálny čas podla počítača vo formáte <quote
>HH:MM:SS</quote
></para
> <para
>Spustíte ho pomocou dialógu pre editovací príkaz a zadať do vstupného poľa slovo <userinput
>time</userinput
></para
> </listitem
> </varlistentry
> <varlistentry
> <term
><command
>znak</command
></term
> <listitem
> <para
>Tento príkaz umožňuje vložiť rôzne znaky pomocou ich číselnej reprezentácie v desiatkovej, osmičkovej alebo šesťnástkovej sústave. Použijete ho pomocou dialógu pre editovací príkaz a zadaním <userinput
>char:[číslo]</userinput
> do textového poľa. Potom stlačte <guibutton
>OK</guibutton
>.</para
> <example
> <title
>príklady <command
>char</command
></title
> <para
>Vstup: <userinput
>char:234</userinput
></para
> <para
>Výstup: <computeroutput
>ê</computeroutput
></para
> <para
>Vstup: <userinput
>char:0x1234</userinput
></para
> <para
>Výstup: <computeroutput
>ê</computeroutput
></para
> <para
>Vstup: <userinput
>char:1232</userinput
></para
> <para
>Výstup: <computeroutput
>ê</computeroutput
></para
> </example
> </listitem
> </varlistentry
> <varlistentry
> <term
><command
>s///[ig]</command
> <command
>%s///[ig]</command
></term
> <listitem
> <para
>Tento príkaz robí operáciu hladania/nahradenia podobnú sed na aktuálnom riadku alebo na celom súbore (<command
>%s///</command
>).</para
> <para
>V krátkosti, text sa prehladá podla <emphasis
>vzorky hladania</emphasis
>, regulárneho výrazu medzi prvým a druhým lomítkom a ak sa nejaký text nájde, odpovedajúca časť sa nahratí výrazom medzi stredným a koncom reťazca. Zátvorky vo vzorky vytvárajú <emphasis
>spätné referencie</emphasis
>, čiže príkaz si zapamätá, ktorá časť odpovedá zátvorkám. Tieto reťazce je potom možné znovu použiť vo vzorke pre nahradenie použitím <userinput
>\1</userinput
> pre prvý pár zátvoriek, <userinput
>\2</userinput
> pre druhý atd.</para
> <para
>Pre hladanie symbolu <literal
>(</literal
> alebo <literal
>)</literal
> ich musíte označiť, (<emphasis
>escape</emphasis
>) pomocou spätného lomítka: <userinput
>\(\)</userinput
></para
> <para
>Ak na koniec výrazu pridáte <userinput
>i</userinput
>, hladanie nebude rozlišovať velkosť písmen.</para
> <example
> <title
>Náhrada textu na aktuálnom riadku</title
> <para
>Váš prekladač práve skončil a oznámil vám, že <classname
>mojaTrieda</classname
> na riadku 3902 nie je vo vašom zdrojovom kóde definovaná.</para
> <para
>Poviete si: &quot;Ach jo!&quot;. Samozrejme, že to je <classname
>MojaTrieda</classname
>. Prejdete na riadok 3902 a namiesto hľadania slova v texte, spustíte dialóg pre editovací príkaz a zadáte <userinput
>s/mojatrieda/MojaTrieda/i</userinput
> a stlačíte <guibutton
>OK</guibutton
>. Uložíte súbor a spustíte kompilátor &ndash; a preklad je bez chýb.</para
> </example
> <example
> <title
>Náhrada textu v celom súbore</title
> <para
>Predstavte si, že máte súbor, ktorý hovorí niekoľkokrát o <quote
>Miss Jensen</quote
>. V tom ale niekto príde a oznámi vám, že sa práve vydala za <quote
>pána Jonesa</quote
>. Takže musíte každné <quote
>Miss Jensen</quote
> prepísať na <quote
>Ms Jones</quote
>.</para
> <para
>Spustíte ho pomocou dialógu pre editovací príkaz. Potom zadajte <userinput
>%s/Miss Jensen/Ms Jones/</userinput
> a stlačte enter.</para
> </example
> <example
> <title
>Zložitejší príklad</title
> <para
>Tento príklad používa <emphasis
>spätné referencie</emphasis
> spolu so <emphasis
>triedou slov</emphasis
> (ak neviete, čo to je, prečítajte si súvisiacu dokumentáciu, ktorá je zmienená dole).</para
> <para
>Predpokladajme takýto riadok: <programlisting
>void MyClass::DoStringOps( String      &amp;foo, String &amp;bar String *p, int  &amp;a, int &amp;b )</programlisting
> </para
> <para
>Teraz si uvedomíte, že to nie je pekný kód a rozhodnete sa použiť kľúčové slovo <constant
>const</constant
> rpe všetky <quote
>adresy</quote
> argumentov, ktoré sú označené operátorom &amp;. Chceli by ste aj vynechať zbytočné medzery tak, aby medzi každým slovom bola iba jedna medzera.</para
> <para
>Spustíte dialóg pre editovací príkaz, zadáte <userinput
>s/\s+(\w+)\s+(&amp;)/ const \1 \2/g</userinput
> a stlačíte <guibutton
>OK</guibutton
>, <userinput
>g</userinput
> na konci výrazu znamená, že sa má regulárny výraz po každom nájdení textu znovu preložiť, aby sa <emphasis
>spätná referencia</emphasis
> uložila.</para
> <para
>Výstup: <computeroutput
>void MyClass::DoStringOps( const String &amp;foo, const String &amp;bar String *p, const int &amp;a, const int &amp;b )</computeroutput
></para
> <para
>Hotovo! A čo sa vlastne stalo? Hľadali sme medzery (<literal
>\s+</literal
>), za ktorými je jeden alebo viac písmen (<literal
>\w+</literal
>), za ktorými sú zase nejaké medzery (<literal
>\s+</literal
>) ukončené &amp;. Pritom sme uložili písmená a operátor &amp; pre použitie v operácii nahradenia. Potom sme vložili nájdený text s jednou medzerou pred, za ňou sme dali <literal
>const</literal
> zase s jednou medzerou a potom nájdené písmená, medzera a náš uložený ampersand (<literal
>\2</literal
>).</para
> <para
>V niektorých prípadoch boli písmená <quote
>String</quote
>, inokedy <quote
>int</quote
>, takže použitím triedy písmen <literal
>\w</literal
> a operátora <literal
>+</literal
> sa nám naozaj hodilo.</para
> </example
> </listitem
> </varlistentry
> </variablelist>

<warning>
<para
>Toto je velmi silný nástroj. Aj ked je možné túto operáciu vrátiť použitím <menuchoice
><guimenuitem
>Vrátiť späť</guimenuitem
></menuchoice
> odpovedajúcim počtom krát, doporučujem, aby ste si ho najprv trochu natrénovali pre skutočné použitie v prípade, že nemáte moc skústeností s aplikáciou <application
>sed</application
> alebo regulárnymi výrazmi v jazyku perl.</para>
</warning>

</sect1>

</chapter>