=============================================================================== = B e n v i d o a o t u t o r d o V I M - Versión 1.7 = =============================================================================== = C A P Í T U L O D O U S = =============================================================================== Hic Sunt Dracones: se este é o súa primeira exposición ao vim, e prefire iniciarse no capítulo introducturio, pode saír premendo :q . O tempo aproximado requerido para completar este capítulo é de 8-10 minutos, dependendo de canto tempo use na experimentación. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.1: OS REXISTROS CON NOME ** Almacene dúas palabras copiadas de xeito consecutivo, e logo pégueas. ** 1. Mova o cursor ata a liña inferior sinalada con --->. 2. Navegue ata calquera carácter da palabra 'Xoán' e escriba "ayiw . NEMÓNICO: dentro do rexistro(") chamado (a) pega (y)ank o interior (i)nner da palabra (w)ord 3. Navegue cara a adiante ata a palabra 'galetas' ( fl ou 4fe ou $b ou /gal ) e teclee "byiw . 4. Navegue ata calquera carácter da palabra 'Uxío' e teclee ciw a NEMÓNICO: cambia (c)hange o interior (i)nner da palabra (w)ord co chamado (a) 5. Navegue ata calquera punto da palabra 'tartas' e teclee ciwb ---> a) De eiquí en adiante, Xoán ficará encarregado das racións de galetas. b) Xa que logo, Uxío somentes terá poderes no que respecta ás tartas. NOTA: O borrado tamén funciona nos rexistros, é dicir: "sdiw borrará a palabra baixo o cursor e ficaráa no rexistro s. REFERENCIAS: Rexistros :h registers Rexistros con come: :h quotea Movemento :h motion.txt /inner CTRL-R :h insert /CTRL-R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.2: O REXISTRO DE EXPRESIÓN ** Insira o resultado dos cáculos sobre a marcha. ** 1. Mova o cursor ata a liña sinalada con --->. 2. Navegue ata calquera carácter do número que aparece na liña. 3. Teclee ciw=60*60*24 . 4. Na seguinte liña, entre no modo Inserir e engada a data de hoxe con: =system('date') NOTA: Tódalas chamadas a sistema son dependentes do sistema operativo. Por exemplo, en Windows pode usar: system('date /t') ou :r!date /t ---> Esquecín o número exacto de segundos que ten un día; son 84600? ---> A data de hoxe é: NOTA: O mesmo pódese obter con :pu=system('date') ou, premendo menos teclas, con :r!date . REFERENCIAS: Rexistro de experesión :h quote= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.3: OS REXISTROS NUMERADOS ** Prema yy e mais dd para ve-lo seu efecto nos rexistros. ** 1. Mova o cursor ata a liña sinalada con --->. 2. Copie a liña 0, e logo inspeccione os rexitros con :reg . 3. Borre a liña 0 con "cdd, e logo inspeccione os rexistros. (Onde espera que estea o contido da liña 0?) 4. Continúe borrando cada liña sucesivamente, inspeccionando os rexistros sobre a marcha. NOTA: Debería decatarse de que as liñas borradas máis antigas móvense cara a embaixo na lista, consonte se engaden as novas liñas borradas. 5. Agora, poña (p) os seguintes rexistros en orde: c, 7, 4, 8, 2. Por exemplo, usando "7p . ---> 0. Esta 9. cambalear 8. mensaxe 7. é 6. en 5. eixo 4. unha 3. guerra 2. secreta. 1. tributo NOTA: O borrado de liñas enteiras (dd) permanece máis tempo nos rexistros numerados có copiado de liñas enteiras ou de texto máis pequeno. REFERENCIAS: Rexistros numerados :h quote00 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1.4: A BELEZA DAS MARCAS ** Evitando conta-las liñas de código ** NOTA: Un problema frecuente que acontece cando se programa é o desprazamento entre pedazos de código. A seguinte técnica axuda a evita-lo cálculo de números de liña asociados a operacions coma "a147d ou :945,1091d a ou, incluso peor, usando primeiro =1091-945 . 1. Mova o cursor ata a liña sinalada con --->. 2. Vaia á primeira liña da función e márquea con ma . NOTA: A posición exacta na liña NON é importante! 3. Navegue ata a fin da liña, e deseguido ata a fin do bloque de código con $% . 4. Borre o bloque e póñao no rexistro 'a' con "ad'a . NEMÓNICO: Dentro do rexistro(") con nome de rexistro (a) pon o borrado (d)eletion dende o cursor ata a liña que contén a marca(') de nome de marca (a) 5. Pegue o bloque entre BBB e CCC con "ap . NOTA: Practique esta operación múltiples veces, ata chegar a facelo fluidamente: ma$%"ad'a ---> AAA function itGotRealBigRealFast() { if ( somethingIsTrue ) { doIt() } // the taxonomy of our function has changed and it // no longer makes alphabetical sense in its current position // imagine hundreds of lines of code // naively you could navigate to the start and end and record or // remember each line number } BBB CCC NOTA: As marcas e mailos rexistros non comparten un espazo común de nomes, de xeito que un rexistro 'a' é completamente independente dunha marca 'a'. En troques, isto non acontece entre os rexistros e mailas macros. REFERENCIAS: Marcas :h marks Movemento de marcas :h mark-motions (diferencia entre ' e `) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lección 2.1 RESUMO 1. Gardar texto (por medio de copiar ou borrar), e recuperalo (pegar) dende un total de 26 rexistros (a-z). 2. Pegar unha palbra enteira dende calquer sitio dentro dunha palara: yiw 3. Cambiar unha palabra enteira dende calquer punto de palabra: ciw 4. Inserir texto directamente dende os rexistros en modo Inserir: (C-r)a 5. Inseri-lo resultado de operacións aritméticas simples no modo Inserir: (C-r)=60*60 6. Inseri-los resultados de chamadas ao sistema no modo Inserir: (C-r)=system('ls -1') 7. Inspecciona-los rexistros con :reg . 8. Aprende-lo destino final do borrado de liñas enteiras (dd) nos rexistros numerados, é dicir, descendendo dende o reistro 1 ao 9. Decatarse de que o borrado de liñas enteiras presérvase nos rexistros numerados máis tempo que calquera outra operación. 9. Aprende-lo destino final de tódalas copias feitas nos rexistros numerados e cómo son de efímeros. 10. Situar marcas dende o modo de comandos m[a-zA-Z0-9] . 11. Moverse a una liña cunha marca con ' . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Isto conclúe o capítulo dows do Vim Tutor. Este é traballo en progreso. Este capítulo foi escrito por Paul D. Parker. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Traducido do inglés ao galego por Fernando Vilariño. Correo electrónico: fernando@cvc.uab.es. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~