mirror of
https://github.com/vim/vim.git
synced 2025-07-25 10:54:51 -04:00
216 lines
7.4 KiB
Plaintext
216 lines
7.4 KiB
Plaintext
|
===============================================================================
|
|||
|
= B e n v i d o a o t u t o r d o V I M - Versi<73>n 1.7 =
|
|||
|
===============================================================================
|
|||
|
= C A P <20> T U L O D O U S =
|
|||
|
===============================================================================
|
|||
|
|
|||
|
Hic Sunt Dracones: se este <20> o s<>a primeira exposici<63>n ao vim, e
|
|||
|
prefire iniciarse no cap<61>tulo introducturio, pode sa<73>r premendo
|
|||
|
:q <ENTER> .
|
|||
|
|
|||
|
O tempo aproximado requerido para completar este cap<61>tulo <20> de
|
|||
|
8-10 minutos, dependendo de canto tempo use na experimentaci<63>n.
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
Lecci<63>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<6C>a inferior sinalada con --->.
|
|||
|
|
|||
|
2. Navegue ata calquera car<61>cter da palabra 'Xo<58>n' e escriba "ayiw .
|
|||
|
|
|||
|
NEM<EFBFBD>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 <ENTER> ) e teclee "byiw .
|
|||
|
|
|||
|
4. Navegue ata calquera car<61>cter da palabra 'Ux<55>o' e teclee
|
|||
|
ciw <C-r>a<ESC>
|
|||
|
|
|||
|
NEM<EFBFBD>NICO:
|
|||
|
cambia (c)hange
|
|||
|
o interior (i)nner
|
|||
|
da palabra (w)ord
|
|||
|
co <contido do rexistro (r)egister>
|
|||
|
chamado (a)
|
|||
|
|
|||
|
5. Navegue ata calquera punto da palabra 'tartas' e teclee
|
|||
|
ciw<C-r>b<ESC>
|
|||
|
|
|||
|
---> a) De eiqu<71> en adiante, Xo<58>n ficar<61> encarregado das raci<63>ns de galetas.
|
|||
|
b) Xa que logo, Ux<55>o somentes ter<65> poderes no que respecta <20>s tartas.
|
|||
|
|
|||
|
NOTA: O borrado tam<61>n funciona nos rexistros, <20> dicir:
|
|||
|
"sdiw borrar<61> a palabra baixo o cursor e ficar<61>a no rexistro s.
|
|||
|
|
|||
|
REFERENCIAS: Rexistros :h registers
|
|||
|
Rexistros con come: :h quotea
|
|||
|
Movemento :h motion.txt<enter> /inner<enter>
|
|||
|
CTRL-R :h insert<enter> /CTRL-R<enter>
|
|||
|
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
Lecci<63>n 2.1.2: O REXISTRO DE EXPRESI<53>N
|
|||
|
|
|||
|
|
|||
|
** Insira o resultado dos c<>culos sobre a marcha. **
|
|||
|
|
|||
|
1. Mova o cursor ata a li<6C>a sinalada con --->.
|
|||
|
|
|||
|
2. Navegue ata calquera car<61>cter do n<>mero que aparece na li<6C>a.
|
|||
|
|
|||
|
3. Teclee ciw<C-r>=60*60*24<ENTER> .
|
|||
|
|
|||
|
4. Na seguinte li<6C>a, entre no modo Inserir e engada a data de hoxe con:
|
|||
|
<C-r>=system('date')<ENTER>
|
|||
|
|
|||
|
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<65>n o n<>mero exacto de segundos que ten un d<>a; son 84600?
|
|||
|
---> A data de hoxe <20>:
|
|||
|
|
|||
|
NOTA: O mesmo p<>dese obter con :pu=system('date')
|
|||
|
ou, premendo menos teclas, con :r!date .
|
|||
|
|
|||
|
REFERENCIAS: Rexistro de experesi<73>n :h quote=
|
|||
|
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
Lecci<63>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<6C>a sinalada con --->.
|
|||
|
|
|||
|
2. Copie a li<6C>a 0, e logo inspeccione os rexitros con :reg<enter> .
|
|||
|
|
|||
|
3. Borre a li<6C>a 0 con "cdd, e logo inspeccione os rexistros.
|
|||
|
(Onde espera que estea o contido da li<6C>a 0?)
|
|||
|
|
|||
|
4. Contin<69>e borrando cada li<6C>a sucesivamente, inspeccionando os rexistros
|
|||
|
sobre a marcha.
|
|||
|
|
|||
|
NOTA: Deber<65>a decatarse de que as li<6C>as borradas m<>is antigas m<>vense cara a
|
|||
|
embaixo na lista, consonte se engaden as novas li<6C>as borradas.
|
|||
|
|
|||
|
5. Agora, po<70>a (p) os seguintes rexistros en orde: c, 7, 4, 8, 2.
|
|||
|
Por exemplo, usando "7p .
|
|||
|
|
|||
|
---> 0. Esta
|
|||
|
9. cambalear
|
|||
|
8. mensaxe
|
|||
|
7. <20>
|
|||
|
6. en
|
|||
|
5. eixo
|
|||
|
4. unha
|
|||
|
3. guerra
|
|||
|
2. secreta.
|
|||
|
1. tributo
|
|||
|
|
|||
|
NOTA: O borrado de li<6C>as enteiras (dd) permanece m<>is tempo nos rexistros
|
|||
|
numerados c<> copiado de li<6C>as enteiras ou de texto m<>is pequeno.
|
|||
|
|
|||
|
REFERENCIAS: Rexistros numerados :h quote00
|
|||
|
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
Lecci<63>n 2.1.4: A BELEZA DAS MARCAS
|
|||
|
|
|||
|
|
|||
|
** Evitando conta-las li<6C>as de c<>digo **
|
|||
|
|
|||
|
NOTA: Un problema frecuente que acontece cando se programa <20> o desprazamento
|
|||
|
entre pedazos de c<>digo. A seguinte t<>cnica axuda a evita-lo c<>lculo
|
|||
|
de n<>meros de li<6C>a asociados a operacions coma "a147d ou
|
|||
|
:945,1091d a ou, incluso peor, usando primeiro
|
|||
|
<C-r>=1091-945<ENTER> .
|
|||
|
|
|||
|
1. Mova o cursor ata a li<6C>a sinalada con --->.
|
|||
|
|
|||
|
2. Vaia <20> primeira li<6C>a da funci<63>n e m<>rquea con ma .
|
|||
|
|
|||
|
NOTA: A posici<63>n exacta na li<6C>a NON <20> importante!
|
|||
|
|
|||
|
3. Navegue ata a fin da li<6C>a, e deseguido ata a fin do bloque de c<>digo
|
|||
|
con $% .
|
|||
|
|
|||
|
4. Borre o bloque e p<><70>ao no rexistro 'a' con "ad'a .
|
|||
|
|
|||
|
NEM<EFBFBD>NICO:
|
|||
|
Dentro do rexistro(")
|
|||
|
con nome de rexistro (a)
|
|||
|
pon o borrado (d)eletion
|
|||
|
dende o cursor ata a li<6C>a que cont<6E>n a marca(')
|
|||
|
de nome de marca (a)
|
|||
|
|
|||
|
5. Pegue o bloque entre BBB e CCC con "ap .
|
|||
|
|
|||
|
NOTA: Practique esta operaci<63>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<6F>n de nomes,
|
|||
|
de xeito que un rexistro 'a' <20> 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<63>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<63>ns aritm<74>ticas simples no modo
|
|||
|
Inserir: (C-r)=60*60<ENTER>
|
|||
|
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<6C>as enteiras (dd) nos
|
|||
|
rexistros numerados, <20> dicir, descendendo dende o reistro 1 ao 9.
|
|||
|
Decatarse de que o borrado de li<6C>as enteiras pres<65>rvase nos rexistros
|
|||
|
numerados m<>is tempo que calquera outra operaci<63>n.
|
|||
|
9. Aprende-lo destino final de t<>dalas copias feitas nos rexistros
|
|||
|
numerados e c<>mo son de ef<65>meros.
|
|||
|
10. Situar marcas dende o modo de comandos m[a-zA-Z0-9] .
|
|||
|
11. Moverse a una li<6C>a cunha marca con ' .
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
Isto concl<63>e o cap<61>tulo dows do Vim Tutor. Este <20> traballo en progreso.
|
|||
|
Este cap<61>tulo foi escrito por Paul D. Parker.
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
Traducido do ingl<67>s ao galego por Fernando Vilari<72>o.
|
|||
|
Correo electr<74>nico: fernando@cvc.uab.es.
|
|||
|
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|