Você está na página 1de 120

o editor de texto Vim

o editor de texto Vim “Um livro escrito em portuguˆes sobre o editor de texto Vim

“Um livro escrito em portuguˆes sobre o editor de texto Vim. A ideia ´e que este material cres¸ca e torne-se uma referˆencia confi´avel e pr´atica. Use este livro nos termos da Licen¸ca de Documenta¸c˜ao Livre GNU (GFDL).”

Este trabalho est´a em constante aprimoramento, e ´e fruto da colabora¸c˜ao de volunt´arios. Participe do desenvolvimento enviando sugest˜oes e melhorias; acesse o site do projeto no endere¸co:

Vers˜ao gerada em 7 de Maio de 2009

Autores

S´ergio Luiz Ara´ujo Silva Douglas Adriano Augusto Eust´aquio Rangel Eduardo Otubo Gustavo Dutra

<voyeg3r@gmail.com>

<daaugusto@gmail.com>

<eustaquiorangel@gmail.com>

<eduardo.otubo@gmail.com>

<gustavotkg@gmail.com>

.

.

.

.

.

.

Conte´udo

1 Introdu¸c˜ao

 

1

1.1

Instala¸c˜ao do Vim

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

1.1.1 Instala¸c˜ao no Windows

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

1.1.2 Instala¸c˜ao no GNU/Linux

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

1.2 Dicas iniciais

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

1.3 Ajuda integrada

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

1.4 Em caso de erros

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

3

1.5 Como interpretar atalhos e comandos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

1.6 Modos de opera¸c˜ao

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

1.7 Entrando em modo de edi¸c˜ao

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

1.8 Erros comuns

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

1.9 Dicas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

2 Movendo-se no Documento

 

7

2.1 Big words

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

2.2 Os saltos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

2.3 Copiar e Deletar

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

2.4 Paginando

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

2.5 Usando marcadores

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

2.6 Marcas globais

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

3 Editando

 

13

3.1 Usando o grep interno do Vim

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

3.2 Deletando uma parte do texto

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

3.3 Copiando sem deletar

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

 

3.3.1

Usando a ´area de transferˆencia Clipboard

.

.

.

.

.

.

.

.

.

15

3.4 Lista de altera¸c˜oes

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

´

CONTE UDO

5

3.5 For¸cando a edi¸c˜ao de um novo arquivo

 

16

3.6 Ordenando

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

3.7 Removendo linhas duplicadas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3.8 Substituindo tabula¸c˜oes por espa¸cos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3.9 Convertendo para mai´usculas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3.10 Editando em modo de comando

 

18

3.11 O arquivo alternativo

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

3.12 Lendo um arquivo para a linha atual

 

19

3.13 Incrementando n´umeros em modo normal

 

.

.

.

.

.

.

.

.

.

.

.

.

.

20

3.14 Repetindo a digita¸c˜ao de linhas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

3.15 Movendo um trecho de forma inusitada

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

3.16 Uma calculadora diferente

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

3.17 Desfazendo

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

3.17.1

Undo tree

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

3.18 Salvando

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

Usando marcas

3.19 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

3.19.1

Marcas globais

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

3.20 Abrindo o ultimo´

arquivo rapidamente

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

3.21 Modelines

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

3.22 Edi¸c˜ao avan¸cada de linhas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

3.23 Comentando rapidamente um trecho

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

3.24 Comparando arquivos com o vimdiff

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

4 Folders

28

4.1 M´etodos de dobras

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

4.2 Manipulando dobras

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

29

4.3 Criando dobras usando o modo visual

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

5 Registros

31

5.1 O registro sem nome “”

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

5.2 Registros nomeados de 0 a 9

 

.

.

.

.

.

.

.

.

.

.

.

32

5.3 Registro de pequenas dele¸c˜oes -

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

32

5.4 Registros nomeados de “a at´e z” ou “A at´e Z”

.

.

.

.

.

.

.

.

.

.

.

32

5.5 Registros somente leitura “: . % #”

 

32

5.6 Registro de express˜oes ”=

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

5.7 Registros de arrastar e mover

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

6

´

CONTE UDO

 

5.8 Registro buraco negro ”

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

5.9 Registros de buscas “/”

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

5.10 Manipulando registros

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

5.11 Listando os registros atuais

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

5.12 Listando arquivos abertos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

36

5.13 Dividindo a janela com o pr´oximo arquivo da lista de buffers

.

.

36

5.14 Como colocar um peda¸co de texto em um registro?

.

.

.

.

.

.

.

.

36

5.15 Como criar um registro em modo visual?

 

37

5.16 Como definir um registro no vimrc?

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

5.17 Como selecionar blocos verticais de texto?

 

38

5.18 Referˆencias

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

39

6

Buscas e Substitui¸c˜oes

 

40

6.1 Usando “Express˜oes Regulares” em buscas

.

.

.

.

.

.

.

.

.

.

.

.

.

40

6.1.1

Evitando escapes ao usar Express˜oes regulares

.

.

.

.

.

.

41

6.2 Destacando padr˜oes

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

6.3 Inserindo linha antes e depois

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

6.4 Obtendo informa¸c˜oes do arquivo

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

44

6.5 Trabalhando com registradores

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

6.6 Edi¸c˜oes complexas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

6.7 Indentando

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

6.8 Corrigindo a indenta¸c˜ao de c´odigos

 

46

6.9 Usando o File Explorer

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

6.10 Selecionando ou deletando conte´udo de tags HTML

 

47

6.11 Substitui¸c˜oes

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

6.12 Exemplos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

6.13 O comando global “g”

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

50

6.14 Dicas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

51

6.15 Filtrando arquivos com o vimgrep

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

52

6.16 Copiar a partir de um ponto .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

52

6.17 Dicas das lista vi-br

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

52

6.18 Dicas do dicas-l .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

53

6.19 Jun¸c˜ao de linhas com Vim

 

.

.

.

.

.

.

.

.

.

.

.

.

53

´

CONTE UDO

7

7 Trabalhando com Janelas

 

55

7.1 Dividindo a janela

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

7.2 Abrindo e fechando janelas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

7.3 Manipulando janelas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

7.4 File Explorer

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

8 Repeti¸c˜ao de Comandos

 

57

8.1 Repetindo a digita¸c˜ao de uma linha

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

58

8.2 Guardando trechos em “registros”

 

58

8.3 Gravando comandos

 

.

.

.

.

.

.

.

.

.

.