1=============================================================================== 2= B e m V i n d o a o V I M T u t o r - Versão 1.7 pt_BR = 3=============================================================================== 4 5 Vim é um poderoso editor que possui muitos comandos, tantos que seria 6 impossível ensinar num tutorial como este. Este tutorial é planejado para 7 apresentar os comandos suficientes para você ficar habilitado a usar 8 facilmente o Vim como um editor de textos genérico. 9 10 O tempo aproximado requerido para completar o tutorial é de 25-30 minutos, 11 dependendo de quanto tempo é gasto praticando os comandos. 12 13 ATENÇÃO: 14 Os comandos nas lições vão modificar o texto. Utilize uma cópia deste 15 arquivo para praticar os comandos (se você iniciou o "vimtutor", esta já 16 é uma cópia). 17 18 É importante lembrar que este tutorial é planejado para ensinar através da 19 prática. Isso significa que você precisa executar os comandos para 20 aprendê-los adequadamente. Se você somente ler o texto, esquecerá os 21 comandos! 22 23 Agora, certifique-se de que sua tecla Shift-Lock (ou Caps Lock) não esteja 24 ativada e pressione a tecla j o bastante para mover o cursor até que a 25 Lição 1.1 esteja completamente na tela. 26~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 27 Lição 1.1: MOVENDO O CURSOR 28 29 30 ** Para mover o cursor, pressione as teclas h,j,k,l conforme indicado. ** 31 ^ 32 k Dica: A tecla h está à esquerda e move para a esquerda. 33 < h l > A tecla l está à direita e move para a direita. 34 j A tecla j se parece com uma seta para baixo. 35 v 36 1. Mova o cursor pela tela até que você se sinta confortável. 37 38 2. Segure pressionada a tecla (j) até haver repetição. 39 Agora você já sabe como ir para a próxima lição. 40 41 3. Usando a tecla j, mova até a lição 1.2. 42 43NOTA: Se você está inseguro sobre o que digitou, pressione <ESC> para 44 colocá-lo no modo Normal. Então redigite o comando que você queria. 45 46NOTA: As teclas de cursor devem funcionar também. Mas usando hjkl, tão logo 47 esteja acostumado, você poderá se mover muito mais rapidamente. 48 49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50 Lição 1.2: SAINDO DO VIM 51 52 53 !! NOTA: Antes de executar qualquer dos passos abaixo, leia a lição inteira !! 54 55 1. Pressione <ESC> (para ter certeza de que está no modo Normal). 56 57 2. Digite :q! <ENTER>. 58 Isso sai do editor SEM salvar qualquer mudança que tenha sido feita. 59 Se quiser salvar as alterações e sair, digite :wq <ENTER> 60 61 3. Repita o procedimento que lhe trouxe a este tutorial. O procedimento pode 62 ter sido a digitação de: vimtutor <ENTER>. 63 64 4. Se você memorizou estes passos e está confiante, execute os passos de 65 1 a 3 para sair e reentrar no editor. 66 67NOTA: :q! <ENTER> descarta qualquer mudança. Em uma próxima lição será 68 ensinado como salvar as mudanças feitas em um arquivo. 69 70 5. Desça o cursor até a Lição 1.3. 71 72~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 Lição 1.3: EDITANDO TEXTOS - DELEÇÃO 74 75 ** No modo Normal, pressione x para deletar o caractere sob o cursor. ** 76 77 78 1. Mova o cursor para a linha abaixo marcada com --->. 79 80 2. Para corrigir os erros, mova o cursor até que ele esteja sobre o 81 caractere a ser deletado. 82 83 3. Pressione a tecla x para deletar o caractere indesejado. 84 85 4. Repita os passos 2 até 4 até que a sentença esteja correta. 86 87---> A vvaca pullouu por ccimaa dda luuua. 88 89 5. Agora que a sentença está correta, vá para a Lição 1.4. 90 91NOTA: Enquanto segue este tutorial, não tente memorizar, aprenda pelo uso. 92 93 94 95~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 96 Lição 1.4: EDITANDO TEXTOS - INSERÇÃO 97 98 ** Pressione i para inserir texto. ** 99 100 101 1. Mova o cursor até a primeira linha abaixo marcada com --->. 102 103 2. Para fazer a primeira linha ficar igual à segunda, mova o cursor para 104 o primeiro caractere DEPOIS de onde o texto deverá ser inserido. 105 106 3. Pressione i e digite as adições necessárias. 107 108 4. Assim que cada erro for corrigido pressione <ESC> para retornar ao modo 109 Normal. Repita os passos 2 até 4 para corrigir a sentença. 110 111---> Tem text fatado desta . 112---> Tem algum texto faltando desta linha. 113 114 5. Quando se sentir confortável com a inserção de texto, mova o cursor para 115 a lição 1.5. 116 117 118~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 119 Lição 1.5: EDITANDO TEXTO - ADICIONANDO 120 121 ** Pressione A para adicionar texto. ** 122 123 1. Mova o curso para a primeira linha abaixo marcada com --->. 124 Não importa sobre qual caractere o cursor estará na linha. 125 126 2. Pressione A e digite as adições necessárias. 127 128 3. Quando adicionar o texto, pressione <ESC> para retornar ao modo Normal. 129 130 4. Mova o cursor para a segunda linha marcada ---> e repita os passos 2 e 3 131 para corrigir o texto. 132 133---> Há algum texto faltando des 134 Há algum texto faltando desta linha. 135 Há algum texto faltan 136---> Há algum texto faltando aqui. 137 138 5. Quando se sentir confortável adicionando texto, mova para a lição 1.6. 139 140 141~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 142 Lição 1.6: EDITANDO UM ARQUIVO 143 ** Use :wq para salvar um arquivo e sair. ** 144 145 !! NOTA: Antes de executar qualquer um dos passos abaixo, 146 leia esta lição completamente!! 147 148 1. Saia deste tutorial como o fez na lição 1.2: :q! 149 Ou, se tiver acesso a outro terminal, faça o seguinte nele. 150 151 2. No prompt do shell, digite esse comando: vim tutor <ENTER> 152 'vim' is é comando para iniciar o editor Vim e 'tutor' é o nome do 153 arquivo que você deseja editar. Use um arquivo que possa ser modificado. 154 155 3. Insira e delete texto tal como aprendeu com as lições anteriores. 156 157 4. Salve o arquivo com as mudanças e saia do Vim com: :wq <ENTER> 158 159 5. Se você tiver saído do vimtutor no passo 1, reinicie o vimtutor e vá para 160 o sumário seguinte. 161 162 6. Após ler os passos acima e compreendê-los, execute-os. 163 164~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 165 SUMÁRIO DA LIÇÃO 1 166 167 1. O cursor é movido usando tanto as teclas de seta quanto as teclas hjkl. 168 h (esquerda) j (para baixo) k (para cima) l (direita) 169 170 2. Para entrar no Vim a partir de um shell digite: vim NOMEDOARQUIVO <ENTER> 171 172 3. Para sair do Vim digite: <ESC> :q! <ENTER> para descartar as alterações. 173 OU digite: <ESC> :wq <ENTER> para salvar as alterações. 174 175 4. Para deletar um caractere sob o cursor no modo Normal digite: x 176 177 5. Para inserir texto na posição do cursor enquanto estiver no modo Normal 178 digite: 179 i digite o texto <ESC> inserir depois do cursor 180 A digite o texto <ESC> adicionar no final da linha 181 182NOTA: Pressionando <ESC> você irá para o modo Normal ou cancelará um comando 183 ainda incompleto. 184 185Agora continue com a Lição 2. 186 187~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 Lição 2.1: COMANDOS DE DELEÇÃO 189 190 ** Digite dw para deletar até o final de uma palavra. ** 191 192 193 1. Pressione <ESC> para ter certeza de que está no modo Normal. 194 195 2. Mova o cursor até a linha abaixo marcada com --->. 196 197 3. Mova o cursor até o começo da palavra que precisa ser deletada. 198 199 4. Digite dw para fazer a palavra desaparecer. 200 201 NOTA: A letra d vai aparece na última linha da tela enquanto você a 202 digita. O Vim está lhe esperando digitar um w . Se você digitou 203 alguma coisa errada, pressione <ESC> e comece de novo. 204 205---> Tem a algumas oi palavras diversão que não pertencem papel a esta sentença. 206 207 5. Repita os passos 3 ao 4 até que a sentença esteja correta e vá para a 208 Lição 2.2. 209 210~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 211 Lição 2.2: MAIS COMANDOS DE DELEÇÃO 212 213 ** Digite d$ para deletar até o final da linha. ** 214 215 216 217 1. Pressione <ESC> para ter certeza de estar no modo Normal. 218 219 2. Mova o cursor até a linha abaixo marcada com --->. 220 221 3. Mova o cursor até o fim da linha correta (DEPOIS do primeiro .). 222 223 4. Digite d$ para deletar até o final da linha. 224 225---> Alguém digitou o final desta linha duas vezes. desta linha duas vezes. 226 227 5. Vá para a lição 2.3 para entender o que está acontecendo. 228 229 230 231 232 233~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 Lição 2.3: SOBRE OPERADORES E MOVIMENTOS 235 236 Muitos comandos que mudam texto são feitos de um operador e um movimento. 237 O formato para um comando deletar com o operador de deleção d tem a 238 seguinte forma: 239 240 d movimento 241 Onde: 242 d - é o operador deletar. 243 movimento - é como o operador vai operar (listado abaixo). 244 245 Uma pequena lista de teclas de movimento: 246 w - do cursor até o fim da palavra, incluindo o espaço. 247 e - do cursor até o fim da palavra, NÃO incluindo o espaço. 248 $ - do cursor até o fim da linha. 249 250 Portanto, digitando de irá deletar do cursor ao fim da palavra. 251 252NOTA: Pressionando apenas a tecla de movimento enquanto em modo Normal, sem o 253operador, irá mover o cursor como especificado na lista de teclas de 254movimento. 255 256~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 257 Lição 2.4: USANDO UM CONTADOR PARA UM MOVIMENTO 258 259 ** Digitando um número antes de um movimento repete-o muitas vezes. ** 260 261 262 1. Mova o cursor para o começo da linha marcada com ---> abaixo. 263 264 2. Digite 2w para mover o cursor duas palavras adiante. 265 266 3. Digite 3e para mover o cursor para o fim da terceira palavra adiante. 267 268 4. Digite 0 (zero) para mover para o início da linha. 269 270 5. Repita os passos 2 e 3 com diferentes números. 271 272---> Esta é uma linha com algumas palavras para lhe permitir fazer movimentos. 273 274 6. Vá para a Lição 2.5. 275 276 277 278 279~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 Lição 2.5: USANDO UM CONTADOR PARA DELETAR MAIS 281 282 ** Digitando um número com um operador repete-o esse número de vezes. ** 283 284 285 Você deve inserir um contador entre o operador de deleção e o movimento 286 mencionados acima para para deletar mais: 287 d número movimento 288 289 1. Movimente o cursor para a primeira palavra com LETRAS MAIÚSCULAS na 290 linha marcada com --->. 291 292 2. Digite d2w para deletar as duas palavras com LETRAS MAIÚSCULAS. 293 294 3. Repita os passos 1 e 2 com diferentes contadores para deletar as 295 palavras de LETRAS MAIÚSCULAS com um comando. 296 297---> esta ABC DE linha FGHI JK LMN OP de palavras está Q RS TUV limpa. 298 299 300 301 302~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 303 Lição 2.6: OPERANDO SOBRE LINHAS 304 305 ** Digite dd para deletar uma linha inteira. ** 306 307 Em virtude da frequência em deletar uma linha inteira, os projetistas do Vi 308 decidiram que seria mais simples digitar dois d's numa linha para deletá-la. 309 310 1. Mova o cursor até a segunda linha na lista a baixo. 311 2. Digite dd para deletar a linha. 312 3. Agora mova até a quarta linha. 313 4. Digite 2dd para deletar duas linhas. 314 315---> 1) Rosas são vermelhas, 316---> 2) Lama é divertida, 317---> 3) Violetas são azuis, 318---> 4) Eu tenho um carro, 319---> 5) Relógios dizem as horas, 320---> 6) Açúcar é doce, 321---> 7) E assim é você. 322 323Notas do tradutor: Lama (mud) em inglês pode significar fofoca, difamação. 324 Há rima no texto original. 325~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 326 Lição 2.7: O COMANDO UNDO (DESFAZER) 327 328** Pressione u para desfazer os últimos comandos, U restaura linha inteira.** 329 330 331 1. Mova o cursor para a linha abaixo marcada com ---> e posicione-o sobre o 332 primeiro erro. 333 2. Digite x para deletar o primeiro caractere indesejado. 334 3. Agora, digite u para desfazer o último comando executado. 335 4. Desta vez, corrija todos os erros na linha usando o comando x . 336 5. Agora, digite um U maiúsculo para retornar a linha ao seu estado original. 337 6. Digite u algumas vezes para desfazer o U e os comandos anteriores. 338 7. Digite CTRL-R (segurando a tecla CTRL enquanto digita R) algumas vezes 339 para refazer os comandos (desfazer os undo's). 340 341---> Corriija os erros nnesta linha e reetorne-os com undo. 342 343 8. Esses comandos são muito úteis. Agora vá para o sumário da Lição 2. 344 345 346 347 348~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 SUMÁRIO DA LIÇÃO 2 350 351 352 1. Para deletar do cursor até o fim de uma palavra digite: dw 353 2. Para deletar do cursor até o fim de uma linha digite: d$ 354 3. Para deletar uma linha inteira digite: dd 355 4. Para repetir um movimento adicione antes um número: 2w 356 5. O formato para um comando no modo Normal é: 357 operador [número] movimento 358 onde: 359 operador - é o que será feito, como d para deletar 360 número - é quantas vezes o comando será repetido 361 movimento - movimento sobre o texto que sofrerá a operação, como 362 w (palavra), $ (até o final da linha), etc. 363 364 5. Para desfazer um ação anterior, digite: u (minúsculo) 365 Para desfazer todas as modificações em uma linha digite: U (maiúsculo) 366 Para desfazer o que foi desfeito digite: CTRL-R 367 368 369 370 371~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 372 Lição 3.1: O COMANDO PUT (PÔR) 373 374 ** Digite p para colocar a última deleção após o cursor. ** 375 376 377 1. Mova o cursor até a primeira linha na lista abaixo. 378 379 2. Digite dd para deletar a linha e guardá-la no buffer do Vim. 380 381 3. Mova o cursor até a linha ACIMA de onde a linha deletada deve ficar. 382 383 4. No modo Normal, digite p para inserir a linha. 384 385 5. Repita os passos 2 ao 4 para pôr todas as linhas na ordem correta. 386 387 d) Você pode aprender também? 388 b) Violetas são azuis, 389 c) Inteligência se aprende, 390 a) Rosas são vermelhas, 391 392Nota do tradutor: Há rima no original. 393 394~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 395 Lição 3.2: O COMANDO REPLACE (SUBSTITUIR) 396 397 ** Digite rx para substituir o caractere sob o cursor por x . ** 398 399 400 1. Mova o cursor até a primeira linha abaixo marcada com --->. 401 402 2. Mova o cursor até que ele esteja sobre o primeiro erro. 403 404 3. Digite r e então o caractere que deveria estar lá. 405 406 4. Repita os passos 2 e 3 até que a primeira linha esteja correta. 407 408---> Quendo este limha foi dugitada, alguem pressioniu algumas teclas erradzs! 409---> Quando esta linha foi digitada, alguém pressionou algumas teclas erradas! 410 411 5. Agora vá para a Lição 3.3. 412 413NOTA: Lembre-se que você deve aprender pelo uso, não pela memorização. 414 415 416 417~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 418 Lição 3.3: O OPERADOR CHANGE (MUDAR) 419 420 ** Para mudar toda uma palavra ou parte dela, digite cw . ** 421 422 423 1. Mova o cursor até a primeira linha abaixo marcada com --->. 424 425 2. Posicione o cursor sobre o u em lunba. 426 427 3. Digite cw e a palavra correta (nesse caso, digite 'inha'.) 428 429 4. Pressione <ESC> e mova para o próximo caractere a ser alterado. 430 431 5. Repita os passos 3 e 4 até que a primeira sentença esteja igual à segunda. 432 433---> Essa lunba tem pwlesmfr que ocrimmm soi alteradas cup o comando change. 434---> Essa linha tem palavras que precisam ser alteradas com o comando change. 435 436Note que cw não somente substitui a palavra, mas também lhe coloca no modo 437de inserção. 438 439 440~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 441 Lição 3.4: MAIS MUDANÇAS USANDO c 442 443 ** O operador change é usado com os mesmos objetos que delete. ** 444 445 1. O operador change trabalha da mesma maneira que o delete. O formato é: 446 447 c [número] movimento 448 449 2. Os movimentos também são os mesmos: w (palavra), $ (fim da linha), etc. 450 451 3. Mova até a primeira linha abaixo marcada com --->. 452 453 4. Mova o cursor até o primeiro erro. 454 455 5. Digite c$ para fazer o resto da linha ficar igual à segunda e pressione 456 <ESC>. 457 458---> O fim desta linha precisa de ajuda para ficar igual à segunda. 459---> O fim desta linha precisa ser corrigido usando o comando c$. 460 461NOTA: Você pode usar a tecla Backspace para corrigir erros enquanto digita. 462 463~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 464 SUMÁRIO DA LIÇÃO 3 465 466 467 1. Para inserir um texto que já foi deletado, digite p . Isso coloca o texto 468 deletado APÓS o cursor (se uma linha é deletada ela será inserida na linha 469 abaixo do cursor). 470 471 2. Para substituir o caractere sob o cursor, digite r e então o caractere 472 que irá substituir o original. 473 474 3. O comando change possibilita mudar do cursor até onde o movimento for. 475 Ex: Digite cw para mudar do cursor até o fim de uma palavra, c$ para 476 mudar até o fim da linha. 477 478 4. O formato para uma operação change é: 479 480 c [número] movimento 481 482Agora vá para a próxima lição. 483 484 485 486~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 487 Lição 4.1: LOCALIZAÇÃO DO CURSOR E STATUS DO ARQUIVO 488 489 ** Digite CTRL-G para mostrar sua localização no arquivo e seu status. 490 Digite G para mover para uma linha do arquivo. ** 491 492 Nota: Leia esta lição inteira antes de executar qualquer um dos passos!! 493 494 1. Segure pressionada a tecla Ctrl e pressione g . Nós chamamos isso de 495 CTRL-G. Uma mensagem aparecerá no rodapé da página com o nome do arquivo 496 e a sua posição no arquivo. Lembre-se do número da linha para o Passo 3. 497 498NOTA: A posição do cursor pode estar visível no canto direito inferior da 499 tela. Isso acontece quando a opção 'ruler' está ativa 500 (veja :help 'ruler' ). 501 502 2. Pressione G para mover para o final do arquivo. 503 Digite gg para mover para o início do arquivo. 504 505 3. Digite o número da linha em que você estava e então G . Isto 506 retornará o cursor à linha em que você estava quando pressionou CTRL-G. 507 508 4. Se você estiver confiante para fazer isto, execute os passos 1 ao 3. 509~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 510 Lição 4.2: O COMANDO SEARCH (PROCURA) 511 512 ** Digite / seguido por uma string para procurar pela string. ** 513 514 1. No modo Normal digite o caractere / . Note que ele e o cursor aparecem 515 no rodapé da tela, como ocorre com o comando : . 516 517 2. Agora digite 'errroo' <ENTER>. Esta é a palavra que você quer procurar. 518 519 3. Para procurar pela mesma palavra de novo, simplesmente tecle n . 520 Para procurar pela mesma palavra na direção oposta, tecle N . 521 522 4. Se você quer procurar por uma string no sentido de frente para trás, use 523 ? em vez de / . 524 525 5. Para voltar para onde estava, pressione CTRL-O (mantenha a tecla Ctrl 526 pressionada e pressione a tecla o). Repita para voltar outras posições. 527 CTRL-I segue para posições mais recentes. 528 529---> "errroo" não é uma maneira de escrever erro; errroo é um erro. 530NOTA: Quando a busca atinge o final do arquivo ela continuará do começo, a 531 menos que a opção 'wrapscan' esteja desativada. 532~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 533 Lição 4.3: PROCURA POR CASAMENTO DE PARÊNTESES 534 535 ** Digite % para achar um casamento de ),], ou } . ** 536 537 538 1. Posicione o cursor em qualquer (, [, ou { na linha abaixo marcada com --->. 539 540 2. Agora digite o caractere % . 541 542 3. O cursor deve estar no parênteses ou colchetes que casa com o primeiro. 543 544 4. Digite % para mover o cursor de volta ao primeiro colchete ou parênteses 545 (por casamento). 546 547---> Isto ( é uma linha de teste contendo ('s, ['s ] e {'s }. )) 548 549Nota: Isso é muito útil para corrigir um programa com parênteses não-casados! 550 551 552 553 554 555~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 556 Lição 4.4: O COMANDO SUBSTITUIR 557 558 ** Digite :s/velho/novo/g para substituir 'velho' por 'novo'. ** 559 560 561 1. Mova o cursor para a linha abaixo marcada com --->. 562 563 2. Digite :s/aa/a <ENTER> . Note que este comando somente muda a 564 primeira ocorrência na linha. 565 566 3. Agora digite :s/aa/a/g significando substituir globalmente na linha. 567 Isto muda todas as ocorrências na linha. 568 569---> aa melhor época para ver aas flores é aa primavera. 570 571 4. Para mudar toda ocorrência de uma string entre duas linhas, 572 digite :#,#s/velho/novo/g onde #,# são os números das duas linhas. 573 Digite :%s/velho/novo/g para mudar todas as ocorrências no arquivo 574 inteiro. 575 Digite :%s/velho/novo/gc para mudar todas as ocorrência no arquivo 576 inteiro, com a opção de confirmar cada 577 substituição. 578~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 579 SUMÁRIO DA LIÇÃO 4 580 1. CTRL-G mostra a sua localização no arquivo e o status do mesmo. 581 G move para o final do arquivo. 582 número G move para esta linha com esse número. 583 gg move para a primeira linha. 584 585 2. Digitando / seguido por uma expressão procura À FRENTE por ela. 586 Digitando ? seguido por uma expressão procura pela expressão de TRÁS 587 PARA FRENTE. 588 Após uma busca, digite n para achar a próxima ocorrência na mesma direção 589 ou N para procurar na direção oposta. 590 CTRL-O leva a posições antigas e CTRL-I a posições mais recentes. 591 592 3. Digitando % enquanto o cursor está sobre um (,),[,],{, ou } localiza 593 o par que casa com ele. 594 595 4. Para substituir: 596 o primeiro 'velho' de uma linha por 'novo' digite :s/velho/novo 597 todos os 'velho's em uma linha por 'novo' digite :s/velho/novo/g 598 expressões entre dois números (#) de linhas digite :#,#s/velho/novo 599 todas as ocorrências no arquivo digite :%s/velho/novo/g 600 Para confirmar cada substituição adicione 'c' :%s/velho/novo/gc 601~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 602 Lição 5.1: COMO EXECUTAR UM COMANDO EXTERNO 603 604 605 ** Digite :! seguido por um comando externo para executar esse comando. ** 606 607 1. Digite o familiar comando : para levar o cursor ao rodapé da tela. Isso 608 lhe permite entrar um comando. 609 610 2. Agora digite o caractere ! (ponto de exclamação). Isso lhe permite 611 executar qualquer comando do shell. 612 613 3. Como um exemplo digite ls seguindo o ! e então tecle <ENTER>. Isto 614 irá mostrar uma listagem do seu diretório, como se você estivesse no 615 prompt do shell. Ou use :!dir se ls não funcionar. 616 617NOTA: É possível executar qualquer comando externo dessa maneira, inclusive 618 com argumentos. 619 620NOTA: Todos os comandos : devem ser finalizados teclando-se <ENTER> 621 Daqui em diante não iremos mencionar isso sempre. 622 623 624~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 625 Lição 5.2: MAIS SOBRE SALVAR ARQUIVOS 626 627 ** Para salvar as alterações no texto, digite :w NOMEDOARQUIVO. ** 628 629 630 1. Digite :!dir ou :!ls para ter uma listagem de seu diretório. 631 Você já deve saber que precisa teclar <ENTER> depois disso. 632 633 2. Escolha um nome de arquivo que ainda não exista, como TESTE. 634 635 3. Agora digite: :w TESTE (onde TESTE é o nome que você escolheu.) 636 637 4. Isto salva o arquivo inteiro (o Vim Tutor) com o nome TESTE. 638 Para verificar isso, digite :!ls de novo para ver seu diretório 639 640NOTA: Se você sair do Vim e entrar de novo com o nome do arquivo TESTE, 641 o arquivo deve ser uma cópia exata do tutor quando você o salvou. 642 643 5. Agora remova o arquivo digitando (MS-DOS): :!del TESTE 644 ou (Unix): :!rm TESTE 645 646 647~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 648 Lição 5.3: SELECIONANDO O TEXTO A SER SALVO 649 650 ** Para salvar parte de um arquivo, digite v movimento NOMEDOARQUIVO ** 651 652 1. Mova o cursor para esta linha. 653 654 2. Pressione v e mova o cursor para o quinto item abaixo. Note que o texto 655 é realçado. 656 657 3. Pressione o caractere : e note que aparecerá :'<,'> no lado inferior 658 da tela. 659 660 4. Digite w TESTE , sendo TESTE um nome de arquivo que não existe ainda. 661 Você deverá ver :'<,'>w TESTE antes de pressionar <ENTER>. 662 663 5. O Vim salvará as linhas selecionadas no arquivo TESTE. Use :!dir ou 664 !:ls para vê-lo. Não o apague agora! Nós o usaremos na próxima lição. 665 666NOTA: Pressionando v inicia o modo Visual de seleção. Você pode mover o 667cursor pela tela para tornar a seleção maior ou menor. Pode, então, usar um 668operador para executar alguma ação. Por exemplo, d deleta o texto. 669 670~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 671 Lição 5.4: RECUPERANDO E JUNTANDO ARQUIVOS 672 673 ** Para inserir o conteúdo de um arquivo, digite :r NOMEDOARQUIVO ** 674 675 676 1. Posicione o cursor logo acima desta linha. 677 678NOTA: Depois de executar o Passo 2 você verá a lição 5.3. Então DESÇA o 679 cursor para ver esta lição novamente. 680 681 2. Agora recupere o arquivo TESTE usando o comando :r TESTE onde TESTE é o 682 nome do arquivo. 683 O arquivo recuperado é colocado abaixo da linha atual do cursor. 684 685 3. Para verificar que o arquivo foi recuperado, volte com o cursor e verifique 686 que agora existem duas cópias da Lição 5.3, a original e a versão do 687 arquivo. 688 689NOTA: Você também pode ler a saída de um comando externo. Por exemplo, :r !ls 690 lê a saída do comando ls e coloca o resultado abaixo do cursor. 691 692 693~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 694 SUMÁRIO DA LIÇÃO 5 695 696 697 1. :!comando executa um comando externo. 698 699 Alguns exemplos úteis são: 700 (MS-DOS) (UNIX) 701 :!dir :!ls - lista conteúdo do diretório. 702 :!del ARQUIVO :!rm ARQUIVO - remove ARQUIVO. 703 704 2. :w ARQUIVO salva o atual arquivo do Vim para o disco com o nome ARQUIVO. 705 706 3. v movimento :w ARQUIVO salva as linhas Visualmente selecionadas em 707 ARQUIVO. 708 709 4. :r ARQUIVO recupera ARQUIVO do disco e o insere dentro do arquivo atual 710 na posição do cursor. 711 712 5. :r !dir lê a saída do comando dir e coloca o resultado abaixo da posição 713 atual do cursor. 714 715 716~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 717 Lição 6.1: O COMANDO OPEN (ABRIR) 718 719 ** Digite o para abrir uma linha embaixo do cursor e ir para o modo de 720 Inserção (INSERT). ** 721 722 1. Mova o cursor para a linha abaixo marcada com --->. 723 724 2. Digite o (minúsculo) para abrir uma linha ABAIXO do cursor e ir para o 725 modo de Inserção (INSERT). 726 727 3. Agora digite algum texto e pressione <ESC> para sair do modo de 728 Inserção. 729 730---> Após teclar o o cursor é colocado na linha aberta no modo de Inserção. 731 732 4. Para abrir uma linha ACIMA do cursor, simplesmente tecle um O maiúsculo, 733 em vez de um o minúsculo. Tente isso na linha abaixo. 734 735---> Abra uma linha acima desta teclando O enquanto o cursor está nesta linha. 736 737 738 739~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 740 Lição 6.2: O COMANDO APPEND 741 742 ** Digite a para inserir texto DEPOIS do cursor. ** 743 744 1. Mova o cursor para o início da linha marcada com ---> . 745 746 2. Pressione e até o cursor ficar sobre o final de li . 747 748 3. Digite um a (minúsculo) para adicionar texto DEPOIS do caractere sob o 749 cursor. 750 751 4. Complete a palavra conforme a linha abaixo. Pressione <ESC> para sair do 752 modo de Inserção. 753 754 5. Use e para mover para a próxima palavra incompleta repita os passos 3 755 e 4. 756 757---> Esta lin lhe permite pratic a adiç de texto a uma linha. 758---> Esta linha lhe permite praticar a adição de texto a uma linha. 759 760NOTA: a, i e A levam ao mesmo modo de Inserção, a única diferença é onde os 761 caracteres são inseridos. 762~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 763 Lição 6.3: UMA OUTRA VERSÃO DO REPLACE (SUBSTITUIR) 764 765 ** Digite um R maiúsculo para substituir mais de um caractere. ** 766 767 768 1. Mova o cursor para a primeira linha abaixo marcada com --->. Mova o 769 cursor para o início do primeiro xxx . 770 771 2. Agora pressione R e digite os números que estão abaixo dele, na segunda 772 linha, para substituir o xxx . 773 774 3. Pressione <ESC> para sair do modo de Substituição. Note que o resto da 775 linha permanece inalterada. 776 777 4. Repita os passos para substituir os xxx restantes. 778 779---> Adicionando 123 a xxx resulta em xxx. 780---> Adicionando 123 a 456 resulta em 579. 781 782NOTA: O modo de Substituição é como o modo de Inserção, mas cada caractere 783 digitado deleta um caractere existente. 784 785~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 786 Lição 6.4: COPIAR E COLAR TEXTO 787 788 ** Use o operador y para copiar texto e p para colá-lo. ** 789 790 1. Vá para a linha marcada com ---> abaixo e posicione o cursor após "a)". 791 792 2. Inicie o modo Visual com v e mova o cursor para logo antes de 793 "primeiro". 794 795 3. Digite y para copiar o texto selecionado. 796 797 4. Mova o cursor para o final da próxima linha: j$ 798 799 5. Digite p par pôr (colar) o texto. Então, digite: o segundo <ESC> . 800 801 6. Use o modo Visual para selecionar " item.", copie-o com y , mova para 802 o fina da próxima linha com j$ e ponha (cole) o texto com p . 803 804---> a) esse é o primeiro item. 805 b) 806NOTA: Você também pode usar y como um operador; por exemplo, yw copia uma 807 palavra. 808~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 809 Lição 6.5: CONFIGURAR PREFERÊNCIAS 810 811 ** Configurar uma preferência de modo que um search ou substitute 812 ignora se as letras estão em maiúsculas ou minúsculas. ** 813 814 1. Procure por 'ignore' entrando: /ignore <ENTER> 815 Repita várias vezes teclando n . 816 2. Configure a opção 'ic' (Ignore case) digitando: 817 :set ic 818 3. Agora procure por 'ignore' de novo teclando: n 819 Repita várias vezes. 820 4. Configure as opções 'hlsearch' e 'incsearch': 821 :set hls is 822 5. Agora entre com o comando search de novo, e veja o que acontece: 823 /ignore 824 6. Para desabilitar a desconsideração de maiúsculas e minúsculas: 825 :set noic 826 827NOTA: Para remover o realce dos termos localizados entre: :nohlsearch 828NOTA: Se quiser ignorar a diferença entre maiúsculas e minúsculas em apenas 829 uma pesquisa, use \c no comando: /ignore\c <ENTER> 830 831~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 832 SUMÁRIO DA LIÇÃO 6 833 834 1. Digite o para abrir uma linha ABAIXO do cursor e iniciar o modo de 835 Inserção. 836 Digite O para abrir uma linha ACIMA da linha onde o cursor está. 837 838 2. Digite a para adicionar texto DEPOIS do caractere onde está o cursor. 839 Digite A para adicionar texto ao final da linha. 840 841 3. O comando e move o cursor para o final de uma palavra. 842 843 4. O operador y copia texto, p põe (cola) o texto copiado. 844 845 5. Digitando R entra-se no modo de Substituição até que <ESC> seja 846 pressionado. 847 848 6. Digitando ":set xxx" modifica-se a opção "xxx". Algumas opções são: 849 'ic' 'ignorecase' ignora diferença entre maiúsculas/minúsculas 850 'is' 'incsearch' realiza a busca enquanto se digita 851 'hls' 'hlsearch' realça todos os trechos localizados 852 Você tanto pode usar o nome curto quanto o nome longo da opção. 853 7. Adicione o prefixo "no" para desabilitar uma opção: :set noic 854~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 855 LIÇÃO 7.1: OBTENDO AJUDA 856 857 ** Usar o sistema de ajuda do próprio Vim ** 858 859 O Vim possui sistema de ajuda abrangente. Para começar, tente algum 860 desses três: 861 - pressione a tecla <HELP> (se você tiver uma) 862 - pressione a tecla <F1> (se você tiver uma) 863 - digite :help <ENTER> 864 865 Leia o texto da ajuda para aprender como o sistema de ajuda funciona. 866 Digite CTRL-W CTRL-W para pular de uma janela para outra. 867 Digite :q <ENTER> para fechar a janela da ajuda. 868 869 Você pode achar ajuda sobre qualquer assunto, fornecendo um argumento para 870 o comando ":help". Tente isto (não esqueça de pressionar <ENTER>): 871 872 :help w 873 :help c_CTRL-D 874 :help insert-index 875 :help user-manual 876 877~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 878 Lição 7.2: CRIAR UM SCRIPT DE INICIALIZAÇÃO 879 880 ** Habilitar recursos do Vim ** 881 882 O Vim tem muito mais recursos do que o Vi, mas na sua maioria eles são 883 desabilitados por padrão. Para usar mais recursos, você tem que criar um 884 arquivo "vimrc". 885 886 1. Comece a editar o arquivo "vimrc". Isso depende do sistema: 887 :e ~/.vimrc para Unix 888 :e $VIM/_vimrc para MS-Windows 889 890 2. Agora, leia o conteúdo do arquivo "vimrc" de exemplo: 891 :r $VIM/vimrc_example.vim 892 893 3. Salve o arquivo com: 894 :w 895 896 Da próxima vez que o Vim for iniciado, ele irá usar realce de sintaxe. Você 897 pode adicionar suas configurações preferidas para esse arquivo "vimrc". Para 898 maiores informações, digite: :help vimrc-intro 899 900~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 901 Lição 7.3: COMPLETAÇÃO 902 903 ** Completação da linha de comando com CTRL-D e <TAB> ** 904 905 1. Certifique-se de que o Vim não está no modo compatível: :set nocp 906 907 2. Olhe quais arquivos existem no diretório: :!ls ou :!dir 908 909 3. Digite o início de um comando: :e 910 911 4. Pressione CTRL-D e o Vim irá mostrar a lista dos comandos iniciados 912 com "e". 913 914 5. Pressione <TAB> e o Vim irá completar o nome do comando para ":edit". 915 916 6. Agora, adicione um espaço e o início do nome de um arquivo existente: 917 :edit ARQ 918 919 7. Pressione <TAB>. O Vim irá completar o nome (se ele for único). 920 921NOTA: A completação funciona com muitos comandos. Basta pressionar CTRL-D e 922<TAB>. Isso é especialmente útil para :help . 923~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 924 SUMÁRIO DA LIÇÃO 7 925 926 927 1. Digite :help ou pressione <F1> ou <Help> para abrir a janela de ajuda. 928 929 2. Digite :help cmd para achar a ajuda sobre cmd . 930 931 3. Digite CTRL-W CTRL-W para pular de uma janela para outra. 932 933 4. Digite :q para fechar a janela de ajuda. 934 935 5. Crie um script de inicialização vimrc para ativar automaticamente as suas 936 configurações preferidas. 937 938 6. Quando pressionando um comando : , pressione CTRL-D para ver as 939 possibilidade de completação. 940 941 942 943 944 945~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 946 947 Isto conclui o Vim tutor. Ele pretendeu dar uma breve apresentação do editor 948 Vim, somente o bastante para que você possa usar o editor com facilidade. 949 Ele está longe de ser completo, uma vez que o Vim possui muitos, muitos mais 950 comandos. O próximo passo é ler o manual: ":help user-manual". 951 952 Livro recomendado em Português sobre o Vim: 953 O editor de texto Vim - de Sérgio Luiz Araújo da Silva et al. 954 http://code.google.com/p/vimbook/ 955 956 Para futura leitura e estudo, este livro é recomendado: 957 Vim - Vi Improved - de Steve Oualline 958 Editora: New Riders 959 Este é o primeiro livro completamente dedicado ao Vim. Especialmente útil 960 para iniciantes, com muitos exemplos e ilustrações. 961 Veja http://iccf-holland.org/click5.html 962 963 Esse livro é mais antigo e mais sobre o Vi do que sobre o Vim, mas também é 964 recomendado: 965 Learning the Vi Editor - de Linda Lamb 966 Editora: O'Reilly & Associates Inc. 967 Este é um bom livro para aprender quase tudo o que você quer fazer com o Vi. 968 A sexta edição também inclui informações sobre o Vim. 969 970 Este tutorial foi escrito por Michael C. Pierce e Robert K. Ware, 971 Colorado School of Mines, usando idéias fornecidas por Charles Smith, 972 Colorado State University. E-mail: [email protected]. 973 974 Modificado para o Vim por Bram Moolenaar. 975 976 Versão 1.4 traduzida para o português por Marcelo Drudi Miranda, Escola 977 Politécnica da Universidade de São Paulo. 978 979 Revisão e atualização da tradução para a versão 1.7 por Jakson Aquino, 980 Universidade Federal do Ceará: E-mail: [email protected] 981 982 Last Change: 2010 Jul 27 983 984~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 985