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
|
<chapter id="editing">
<title>Herramientas de edición</title>
<sect1 id="editing-snippets">
<title>Fragmentos de código</title>
<itemizedlist>
<title>Características (visión general)</title>
<listitem><para>SnippetPart añade una vista de herramientas que se ancla a la derecha de forma predeterminada </para></listitem>
<listitem><para>Es posible añadir, editar y eliminar fragmentos de código mediante un menú desplegable </para></listitem>
<listitem><para>Si hace doble clic sobre un fragmento de la lista, se inserta en la vista activa, en la posición actual del cursor </para></listitem>
<listitem><para>Las ayudas emergentes muestran el contenido del fragmento de código </para></listitem>
<listitem><para>Los fragmentos de código se almacenan en la carpeta del usuario, de modo que cada usuario puede tener sus propios fragmentos </para></listitem>
<listitem><para>Los fragmentos de código pueden contener variables con el formato $<varname>NOMBREDEVARIABLE</varname>$. Al usar el fragmento se le solicita al usuario que introduzca el valor de las variables </para></listitem>
</itemizedlist>
</sect1> <!-- editing-snippets -->
<sect1 id="keyboardmapping">
<title>Mapa del teclado</title>
<indexterm zone="keyboardmapping"><primary>accesos rápidos</primary></indexterm>
<para>A continuación listaremos los accesos rápidos de teclado predeterminados para el editor predeterminado. Los puede configurar según sus preferencias (¿cómo?) </para>
<informaltable>
<tgroup cols="2">
<tbody>
<row><entry><para><keycap>Izquierda </keycap></para></entry>
<entry><para>Mueve un carácter a la izquierda </para></entry></row>
<row><entry><para><keycap>Derecha </keycap></para></entry>
<entry><para>Mueve un carácter a la derecha </para></entry></row>
<row><entry><para><keycombo>&Ctrl;<keycap> Izquierda </keycap></keycombo></para></entry>
<entry><para>Mueve una palabra a la izquierda </para></entry></row>
<row><entry><para><keycombo>&Ctrl;<keycap> Derecha </keycap></keycombo></para></entry>
<entry><para>Mueve una palabra a la derecha </para></entry></row>
<row><entry><para><keycap>Arriba </keycap></para></entry>
<entry><para>Mueve una línea hacia arriba </para></entry></row>
<row><entry><para><keycap>Abajo </keycap></para></entry>
<entry><para>Mueve una línea hacia abajo </para></entry></row>
<row><entry><para><keycap>RePág </keycap></para></entry>
<entry><para>Retrocede una página </para></entry></row>
<row><entry><para><keycap>AvPág </keycap></para></entry>
<entry><para>Avanza una página </para></entry></row>
<row><entry><para><keycombo>&Ctrl;<keycap> RePág </keycap></keycombo></para></entry>
<entry><para>Salta al principio del archivo </para></entry></row>
<row><entry><para><keycombo>&Ctrl; <keycap> AvPág </keycap></keycombo></para></entry>
<entry><para>Salta al final del archivo </para></entry></row>
<row><entry><para><keycap>Inicio </keycap></para></entry>
<entry><para>Salta al inicio de la línea </para></entry></row>
<row><entry><para><keycap>Fin </keycap></para></entry>
<entry><para>Salta al final de la línea </para></entry></row>
</tbody>
</tgroup>
</informaltable>
<para>Se puede pulsar la tecla &Shift; junto con cualquiera de las teclas anteriores para marcar desde la posición actual del cursor hasta un punto posterior. </para>
<informaltable>
<tgroup cols="2">
<tbody>
<row><entry><para><keycap>Retroceso </keycap></para></entry>
<entry><para>Elimina el carácter situado a la izquierda </para></entry></row>
<row><entry><para><keycap>Supr </keycap></para></entry>
<entry><para>Elimina el carácter bajo el cursor </para></entry></row>
<row><entry><para><keycombo>&Ctrl; <keycap> C </keycap></keycombo></para></entry>
<entry><para>Copia el texto seleccionado en el portapapeles </para></entry></row>
<row><entry><para><keycombo>&Ctrl;<keycap> V </keycap></keycombo></para></entry>
<entry><para>Pega el texto del portapapeles </para></entry></row>
<row><entry><para><keycombo>&Ctrl;<keycap> X </keycap></keycombo></para></entry>
<entry><para>Elimina el texto seleccionado y lo pone en el portapapeles </para></entry></row>
<row><entry><para><keycombo>&Ctrl;<keycap> Z </keycap></keycombo></para></entry>
<entry><para>Deshacer </para></entry></row>
<row><entry><para><keycombo>&Shift;&Ctrl;<keycap> Z </keycap></keycombo></para></entry>
<entry><para>Rehacer </para></entry></row>
</tbody>
</tgroup>
</informaltable>
</sect1> <!-- keyboardmapping -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="editing-reporter">
<title>El informador de fallos</title>
<para>(... pendiente de escribir ...) </para>
</sect1> <!-- editing-reporter -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="searchinggrepping">
<title>Búsqueda y uso de la herramienta «grep»</title>
<indexterm zone="searchinggrepping"><primary>buscar</primary></indexterm>
<indexterm zone="searchinggrepping"><primary>encontrar</primary></indexterm>
<sect2 id="searching">
<title>Búsqueda de texto</title>
<para><keycombo>&Ctrl;<keycap>F</keycap></keycombo>- Buscar <keycombo>&Ctrl;<keycap>R</keycap></keycombo>- Reemplazar </para>
</sect2> <!-- searching -->
<sect2 id="isearch">
<title>ISearch</title>
<indexterm zone="isearch"><primary>isearch</primary></indexterm>
<indexterm zone="isearch"><primary>búsqueda incremental</primary></indexterm>
<indexterm zone="isearch"><primary>buscar</primary><secondary>incremental</secondary></indexterm>
<para>La búsqueda convencional con <menuchoice><guimenu>Editar</guimenu> <guimenuitem>Buscar</guimenuitem></menuchoice> requiere que especifique el término completo a buscar antes de comenzar. La mayoría de veces resulta mucho más rápido buscar incrementalmente. Si pulsa sobre el campo de edición etiquetado <guilabel>ISearch</guilabel> que hay en la barra de herramientas, la búsqueda se realiza mientras escribe. A menudo encontrará el término deseado tras escribir 3 ó 4 letras. </para>
</sect2> <!-- isearch -->
<sect2 id="grep">
<title>Grep</title>
<indexterm zone="grep"><primary>buscar</primary><secondary>en archivos</secondary></indexterm>
<para>Los dos mecanismos de búsqueda descritos se limitan a buscar dentro de un único archivo de texto. Pero dispone de una herramienta adicional que le permite buscar en un conjunto (posiblemente grande) de archivos en la opción <guimenuitem>Buscar en archivos...</guimenuitem> del menú <guimenu>Editar</guimenu>. Consiste básicamente en una interfaz para el programa &grep;(1). </para>
<para>En el diálogo, puede especificar en qué archivos se va a buscar. Dispone de cierto número de patrones de comodines en una lista desplegable. De este modo puede restringir fácilmente el mecanismo de búsqueda, por ejemplo, a archivos de cabecera. También puede especificar una carpeta donde iniciar la búsqueda. Si marca la opción <guibutton>Recursivo</guibutton>, la búsqueda se realiza en toda la jerarquía de carpetas que existe bajo la de inicio. </para>
<para>El término a buscar es generalmente una expresión regular que sigue la sintaxis POSIX. Por ejemplo, puede usar el término <literal>"\<K.*"</literal> si quiere encontrar todas las palabras que comiencen con la letra «K». Los siguientes caracteres se interpretan de un modo especial: </para>
<informaltable>
<tgroup cols="2">
<tbody>
<row><entry>
<literal>.</literal>
</entry><entry>Representa cualquier carácter </entry></row>
<row><entry>
<literal>^</literal>
</entry><entry>Representa el inicio de una línea </entry></row>
<row><entry>
<literal>$</literal>
</entry><entry>Representa el final de una línea </entry></row>
<row><entry>
<literal>\<</literal>
</entry><entry>Representa el principio de una palabra </entry></row>
<row><entry>
<literal>\></literal>
</entry><entry>Representa el final de una palabra </entry></row>
<row><entry>
<literal>?</literal>
</entry><entry>El elemento anterior representa menor que una vez </entry></row>
<row><entry>
<literal>*</literal>
</entry><entry>El elemento anterior representa cero o más veces </entry></row>
<row><entry>
<literal>+</literal>
</entry><entry>El elemento anterior representa una o más veces </entry></row>
<row><entry>
<literal>{n}</literal>
</entry><entry>El elemento anterior representa exactamente «n» veces </entry></row>
<row><entry>
<literal>{n,}</literal>
</entry><entry>El elemento anterior representa «n» o más veces </entry></row>
<row><entry>
<literal>{,n}</literal>
</entry><entry>El elemento anterior representa menos de «n» veces </entry></row>
<row><entry>
<literal>{n,m}</literal>
</entry><entry>El elemento anterior representa al menos <literal>n</literal> veces, pero menos de <literal>m</literal> veces </entry></row>
</tbody>
</tgroup>
</informaltable>
<para>Las referencias a subexpresiones entre paréntesis también se pueden realizar mediante la notación <literal>\n</literal>. </para>
<para>Como añadido especial, los programadores de C++ disponen de varias plantillas de búsqueda de patrones típicos, que le permiten buscar, por ejemplo, todas las llamadas a funciones miembro de un objeto determinado. </para>
<para>Una vez que ha comenzado la búsqueda tras pulsar el botón <guibutton>Buscar</guibutton>, esta se llevará a cabo por un proceso externo asíncrono. Todos los elementos encontrados aparecerán en la vista denominada <guilabel>Grep</guilabel>. A continuación podrá ir a un elemento encontrado pulsando sobre él. Tenga en cuenta que «grep» procesa los archivos tal y como los almacena el sistema de archivos. Si tiene versiones modificadas de ellos en su editor, cabe la posibilidad de que el número de línea sea erróneo, o de que algunos elementos encontrados sean incorrectos. Puede evitar esta situación si guarda previamente todos los archivos abiertos. </para>
</sect2> <!-- grep -->
</sect1> <!-- searchinggrepping -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="code-completion">
<title>Terminación de código</title>
<para>(... pendiente de escribir ...) </para>
</sect1> <!-- code-completion -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="newfiles">
<title>Creación de archivos y clases nuevas</title>
<para>(... pendiente de escribir ...) </para>
<sect2 id="newfiles-edittemplates">
<title>Edición de las plantillas</title>
<para>(... pendiente de escribir ...) </para>
</sect2> <!-- newfiles-edittemplates -->
</sect1> <!-- newfiles -->
</chapter> <!-- editing -->
<!-- ====================================================================== -->
|