blob: 909126134343445c555fcbae0bca7211bb02f3dc [file] [log] [blame]
fernandovilarino951d0252025-05-03 19:07:35 +02001===============================================================================
2= B e n v i d o a o t u t o r d o V I M - Versión 1.7 =
3===============================================================================
4= C A P Í T U L O D O U S =
5===============================================================================
6
7 Hic Sunt Dracones: se este é o súa primeira exposición ao vim, e
8 prefire iniciarse no capítulo introducturio, pode saír premendo
9 :q <ENTER> .
10
11 O tempo aproximado requerido para completar este capítulo é de
12 8-10 minutos, dependendo de canto tempo use na experimentación.
13
14~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 Lección 2.1.1: OS REXISTROS CON NOME
16
17
18 ** Almacene dúas palabras copiadas de xeito consecutivo, e logo pégueas. **
19
20 1. Mova o cursor ata a liña inferior sinalada con --->.
21
22 2. Navegue ata calquera carácter da palabra 'Xoán' e escriba "ayiw .
23
24NEMÓNICO:
25 dentro do rexistro(")
26 chamado (a)
27 pega (y)ank
28 o interior (i)nner
29 da palabra (w)ord
30
31 3. Navegue cara a adiante ata a palabra 'galetas'
32 ( fl ou 4fe ou $b ou /gal <ENTER> ) e teclee "byiw .
33
34 4. Navegue ata calquera carácter da palabra 'Uxío' e teclee
35 ciw <C-r>a<ESC>
36
37NEMÓNICO:
38 cambia (c)hange
39 o interior (i)nner
40 da palabra (w)ord
41 co <contido do rexistro (r)egister>
42 chamado (a)
43
44 5. Navegue ata calquera punto da palabra 'tartas' e teclee
45 ciw<C-r>b<ESC>
46
47---> a) De eiquí en adiante, Xoán ficará encarregado das racións de galetas.
48 b) Xa que logo, Uxío somentes terá poderes no que respecta ás tartas.
49
50NOTA: O borrado tamén funciona nos rexistros, é dicir:
51 "sdiw borrará a palabra baixo o cursor e ficaráa no rexistro s.
52
53REFERENCIAS: Rexistros :h registers
54 Rexistros con come: :h quotea
55 Movemento :h motion.txt<enter> /inner<enter>
56 CTRL-R :h insert<enter> /CTRL-R<enter>
57
58
59~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 Lección 2.1.2: O REXISTRO DE EXPRESIÓN
61
62
63 ** Insira o resultado dos cáculos sobre a marcha. **
64
65 1. Mova o cursor ata a liña sinalada con --->.
66
67 2. Navegue ata calquera carácter do número que aparece na liña.
68
69 3. Teclee ciw<C-r>=60*60*24<ENTER> .
70
71 4. Na seguinte liña, entre no modo Inserir e engada a data de hoxe con:
72 <C-r>=system('date')<ENTER>
73
74NOTA: Tódalas chamadas a sistema son dependentes do sistema operativo.
75 Por exemplo, en Windows pode usar:
76 system('date /t') ou :r!date /t
77
78---> Esquecín o número exacto de segundos que ten un día; son 84600?
79---> A data de hoxe é:
80
81NOTA: O mesmo pódese obter con :pu=system('date')
82 ou, premendo menos teclas, con :r!date .
83
84REFERENCIAS: Rexistro de experesión :h quote=
85
86
87~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88 Lección 2.1.3: OS REXISTROS NUMERADOS
89
90
91 ** Prema yy e mais dd para ve-lo seu efecto nos rexistros. **
92
93 1. Mova o cursor ata a liña sinalada con --->.
94
95 2. Copie a liña 0, e logo inspeccione os rexitros con :reg<enter> .
96
97 3. Borre a liña 0 con "cdd, e logo inspeccione os rexistros.
98 (Onde espera que estea o contido da liña 0?)
99
100 4. Continúe borrando cada liña sucesivamente, inspeccionando os rexistros
101 sobre a marcha.
102
103NOTA: Debería decatarse de que as liñas borradas máis antigas móvense cara a
104 embaixo na lista, consonte se engaden as novas liñas borradas.
105
106 5. Agora, poña (p) os seguintes rexistros en orde: c, 7, 4, 8, 2.
107 Por exemplo, usando "7p .
108
109---> 0. Esta
110 9. cambalear
111 8. mensaxe
112 7. é
113 6. en
114 5. eixo
115 4. unha
116 3. guerra
117 2. secreta.
118 1. tributo
119
120NOTA: O borrado de liñas enteiras (dd) permanece máis tempo nos rexistros
121 numerados có copiado de liñas enteiras ou de texto máis pequeno.
122
123REFERENCIAS: Rexistros numerados :h quote00
124
125
126~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127 Lección 2.1.4: A BELEZA DAS MARCAS
128
129
130 ** Evitando conta-las liñas de código **
131
132NOTA: Un problema frecuente que acontece cando se programa é o desprazamento
133 entre pedazos de código. A seguinte técnica axuda a evita-lo cálculo
134 de números de liña asociados a operacions coma "a147d ou
135 :945,1091d a ou, incluso peor, usando primeiro
136 <C-r>=1091-945<ENTER> .
137
138 1. Mova o cursor ata a liña sinalada con --->.
139
140 2. Vaia á primeira liña da función e márquea con ma .
141
142NOTA: A posición exacta na liña NON é importante!
143
144 3. Navegue ata a fin da liña, e deseguido ata a fin do bloque de código
145 con $% .
146
147 4. Borre o bloque e póñao no rexistro 'a' con "ad'a .
148
149NEMÓNICO:
150 Dentro do rexistro(")
151 con nome de rexistro (a)
152 pon o borrado (d)eletion
153 dende o cursor ata a liña que contén a marca(')
154 de nome de marca (a)
155
156 5. Pegue o bloque entre BBB e CCC con "ap .
157
158NOTA: Practique esta operación múltiples veces,
159 ata chegar a facelo fluidamente: ma$%"ad'a
160
161---> AAA
162 function itGotRealBigRealFast() {
163 if ( somethingIsTrue ) {
164 doIt()
165 }
166 // the taxonomy of our function has changed and it
167 // no longer makes alphabetical sense in its current position
168
169 // imagine hundreds of lines of code
170
171 // naively you could navigate to the start and end and record or
172 // remember each line number
173 }
174 BBB
175 CCC
176
177NOTA: As marcas e mailos rexistros non comparten un espazo común de nomes,
178 de xeito que un rexistro 'a' é completamente independente dunha
179 marca 'a'. En troques, isto non acontece entre os rexistros
180 e mailas macros.
181
182REFERENCIAS: Marcas :h marks
183 Movemento de marcas :h mark-motions (diferencia entre ' e `)
184
185~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186 Lección 2.1 RESUMO
187
188 1. Gardar texto (por medio de copiar ou borrar), e recuperalo (pegar) dende
189 un total de 26 rexistros (a-z).
190 2. Pegar unha palbra enteira dende calquer sitio dentro dunha palara: yiw
191 3. Cambiar unha palabra enteira dende calquer punto de palabra: ciw
192 4. Inserir texto directamente dende os rexistros en modo Inserir: (C-r)a
193 5. Inseri-lo resultado de operacións aritméticas simples no modo
194 Inserir: (C-r)=60*60<ENTER>
195 6. Inseri-los resultados de chamadas ao sistema no modo Inserir:
196 (C-r)=system('ls -1')
197 7. Inspecciona-los rexistros con :reg .
198 8. Aprende-lo destino final do borrado de liñas enteiras (dd) nos
199 rexistros numerados, é dicir, descendendo dende o reistro 1 ao 9.
200 Decatarse de que o borrado de liñas enteiras presérvase nos rexistros
201 numerados máis tempo que calquera outra operación.
202 9. Aprende-lo destino final de tódalas copias feitas nos rexistros
203 numerados e cómo son de efímeros.
204 10. Situar marcas dende o modo de comandos m[a-zA-Z0-9] .
205 11. Moverse a una liña cunha marca con ' .
206
207~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208 Isto conclúe o capítulo dows do Vim Tutor. Este é traballo en progreso.
209 Este capítulo foi escrito por Paul D. Parker.
210
211~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
212 Traducido do inglés ao galego por Fernando Vilariño.
213 Correo electrónico: fernando@cvc.uab.es.
214
215~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~