Recursos Avançados do Vim
Nesta etapa final, você aprenderá alguns recursos avançados do Vim que podem aumentar significativamente sua produtividade. Isso inclui pesquisa, substituição de texto e trabalho com vários arquivos.
Pesquisando por Texto
Para pesquisar texto no Vim:
- No modo normal, pressione
/
- Digite o termo de pesquisa
- Pressione
Enter para iniciar a pesquisa
- Pressione
n para encontrar a próxima ocorrência
- Pressione
N para encontrar a ocorrência anterior
Vamos criar um arquivo para praticar a pesquisa:
vim ~/project/search_example.txt
Entre no modo insert com i e digite o seguinte texto:
Linux is a family of open-source Unix-like operating systems.
The Linux kernel was first released by Linus Torvalds.
Linux is widely used in servers, desktops, and embedded systems.
Linux distributions include Ubuntu, Fedora, and CentOS.
Many server environments run on Linux due to its stability.
Agora pratique a pesquisa:
- Pressione
Esc para garantir que você está no modo normal
- Digite
/Linux e pressione Enter
- Pressione
n para ir para a próxima ocorrência de "Linux"
- Pressione
N para ir para a ocorrência anterior
Localizar e Substituir
O Vim permite que você substitua texto usando o comando substitute:
- Para substituir a primeira ocorrência de um padrão na linha atual:
:s/old/new/
- Para substituir todas as ocorrências na linha atual:
:s/old/new/g
- Para substituir todas as ocorrências em todo o arquivo:
:%s/old/new/g
- Para substituir com confirmação:
:%s/old/new/gc
Vamos tentar uma substituição:
- Pressione
Esc para garantir que você está no modo normal
- Digite
:%s/Linux/GNU\/Linux/g e pressione Enter
- Isso substituirá todas as ocorrências de "Linux" por "GNU/Linux" em todo o arquivo
Verifique se as substituições foram feitas rolando pelo arquivo.
Salve e saia do arquivo:
- Digite
:wq e pressione Enter
Modo Visual
O modo visual do Vim permite que você selecione texto antes de realizar operações:
v - Inicia a seleção visual caractere por caractere
V - Inicia a seleção visual linha por linha
Ctrl+v - Inicia a seleção visual bloco por bloco (seleciona colunas)
Vamos criar um novo arquivo para praticar o modo visual:
vim ~/project/visual_example.txt
Entre no modo insert com i e digite:
Line 1: This is the first line for practicing visual mode.
Line 2: We can select parts of this text.
Line 3: Visual mode is very powerful.
Line 4: It allows for precise text manipulation.
Line 5: This is the last line of our example.
Pressione Esc para retornar ao modo normal.
Agora, tente estas operações no modo visual:
- Mova seu cursor para o início de "Line 2"
- Pressione
V para iniciar a seleção visual linha por linha
- Pressione
j para estender a seleção para incluir "Line 3"
- Pressione
d para excluir as linhas selecionadas
Você deverá ver que as Linhas 2 e 3 foram excluídas.
Trabalhando com Vários Arquivos
Você pode editar vários arquivos em uma única sessão do Vim:
- Para abrir vários arquivos de uma vez:
vim file1.txt file2.txt
- Para alternar para o próximo buffer:
:bn
- Para alternar para o buffer anterior:
:bp
- Para listar todos os buffers:
:ls
- Para alternar para um buffer específico:
:b number ou :b name
Vamos criar e trabalhar com vários arquivos:
vim ~/project/file1.txt ~/project/file2.txt
No primeiro arquivo, entre no modo insert com i e digite:
This is the content of file1.txt.
We're practicing working with multiple files in Vim.
Salve este arquivo sem sair do Vim:
- Pressione
Esc para garantir que você está no modo normal
- Digite
:w e pressione Enter
Agora, alterne para o segundo arquivo:
- Digite
:bn e pressione Enter
Entre no modo insert com i e digite:
This is the content of file2.txt.
Switching between files in Vim is efficient.
Salve este arquivo e saia do Vim:
- Pressione
Esc para garantir que você está no modo normal
- Digite
:wq e pressione Enter
Criando um Arquivo de Configuração com Comentários
Vamos aplicar os recursos avançados que você aprendeu para criar um arquivo de configuração mais complexo:
vim ~/project/advanced_config.conf
Entre no modo insert com i e digite:
## Server Configuration
## Last updated: 2023-10-20
[Database]
Host=localhost
Port=5432
User=dbuser
Password=secret
Database=myapp
[Web]
Host=0.0.0.0
Port=8080
Debug=true
LogLevel=info
[Security]
EnableSSL=true
SSLCert=/etc/ssl/certs/mycert.pem
SSLKey=/etc/ssl/private/mykey.pem
AllowedIPs=127.0.0.1,192.168.1.0/24
Agora, pratique algumas edições avançadas:
- Pesquise por "localhost" usando
/localhost
- Substitua "secret" por "db_password" usando
:s/secret/db_password/
- Use o modo visual para selecionar e excluir a linha "AllowedIPs"
- Adicione uma nova seção no final usando
o para entrar no modo insert em uma nova linha:
[Monitoring]
Enabled=true
Interval=60
AlertEmail=admin@example.com
Salve o arquivo e saia:
- Pressione
Esc para garantir que você está no modo normal
- Digite
:wq e pressione Enter
Verifique o conteúdo do seu arquivo de configuração:
cat ~/project/advanced_config.conf
Excelente trabalho! Você agora aprendeu e praticou os recursos avançados do Vim que o ajudarão a ser mais produtivo ao editar texto no Linux.