Edição de arquivos com Vim

Deixe sua contribuição, assim vamos facilitar a manutenção e configuração para outros membros que estão iniciando.
Regras do fórum Leia as Regras Gerais do Manjaro Brasil em "Normatividade" e pesquise antes de postar.

Edição de arquivos com Vim

Mensagempor pactux » 02 Ago 2015, 19:18  •  MS 1

Olá a todos,

Como mencionado em um texto anterior, neste falarei a respeito do editor de textos Vim com foco na utilização do mesmo em atividades de edição de texto simples, arquivos de configuração e código fonte.

Nota: Para melhor compreensão do artigo, recomendo fortemente que leia o primeiro texto, pois nele estão as instruções de instalação do software, bem como uma rápida configuração do editor que ajudará bastante ao decorrer do tutorial. Para acessa-lo, clique aqui.

Para que você possa acompanhar os comandos que serão apresentados ao longo do texto, é ideal que possua um arquivo com texto pronto para edição. E pensando nisso, criei algumas linhas com distribuições para que possamos usar como base (segue abaixo).

Código: Selecionar todos
- Manjaro Linux
- Arch Linux
- Arch Bang
- Zenwalk
- Satux
- Puppy Linux
-


Após copiar o texto, abra um editor gráfico de sua preferência e salve-o com o novo conteúdo.

Exemplo com o terminal:

Código: Selecionar todos
$ gedit distros.txt


Sem mais delongas, vamos ao que interessa!

- Inserção

Agora que temos um arquivo texto devidamente salvo para trabalhar, abra o terminal e invoque o novo arquivo através do Vim (antes, certifique-se de que a tecla "Caps Lock" esteja desligada).

Código: Selecionar todos
$ vim distros.txt


Ao "chamar" o Vim, este inicializa no modo de "visualização", e para acrescentar conteúdo ao arquivo, é preciso utilizar o modo de inserção. Abaixo estão os comandos a serem utilizados:

  • Inserir texto antes do cursor: i;
  • Inserir texto após o cursor: a;
  • Acrescentar texto na linha abaixo do cursor: o;
  • Acrescentar texto na linha acima do cursor: shift o;

Para voltar ao modo de visualização, utilize a tecla ESC.

Obs:: Para trabalhar com o Vim, o uso dessa tecla (ESC) é primordial, pois é com ela que será possível sair do modo edição e aplicar os comandos na ferramenta. Logo, sempre que terminar de escrever no arquivo, é interessante que use o ESC para que os comandos aplicados não sejam tratados como "texto" pelo editor.

- Copiar, recortar e colar

Como funcionalidade básica de qualquer editor de textos que exista, o Vim também permite a cópia de caracteres entre as linhas do arquivo, para realizar as operações de cópia, recorte e etc, utilize os comandos abaixo:

  • Para copiar uma linha, posicione o cursor sobre ela e tecle yy;
  • Para colar o conteúdo copiado acima do cursor, tecle shift p;
  • Para colar o conteúdo copiado abaixo do cursor, tecle p;
  • Para copiar a sexta linha (Puppy Linux), com o cursor em outra posição: :6y;
  • Colar o conteúdo copiado por cinco vezes abaixo da posição atual do cursor: 5p;
  • Copiar as três primeiras linhas ao mesmo tempo: :1,3y (aqui você copiar quantas linhas quiser).

Para recortar linhas do arquivo, o procedimento é parecido com a cópia, basta substituir o caracter y por d.

  • Para recortar uma linha inteira, posicione o cursor sobre ela e tecle: dd;
  • Recortar uma linha a partir do cursor: shift d;
  • Recortar a primeira linha (Manjaro Linux), com o cursor em outra posição: :1d;
  • Recortar as duas primeiras linhas ao mesmo tempo: :1,2d (aqui você recortar quantas linhas quiser).

- Deletar conteúdo

Abaixo estão os comandos necessários para deletar linhas e caracteres:

  • Deletar uma linha inteira e ao mesmo tempo entrar no modo de inserção: cc;
  • Deletar uma ou mais linhas a partir do cursor e entrar no modo inserção: cXc ('X' representa o número de linhas desejado);
  • Deletar uma palavra inteira a partir do cursor: dw;
  • Deletar o caracter que está sob o cursor: x.
  • Deletar o caracter que está antes do cursor: shift x.

- Desfazer e Refazer

  • Para desfazer a ultima alteração realizada tecle: u;
  • Para realizar a operação inversa (refazer as alterações), tecle Ctrl r.

Ao pressionar essas teclas por várias vezes, o editor irá desfazer/refazer as alterações mais antigas.

- Movimentar o cursor dentro do arquivo

Os comandos abaixo permitem a locomoção dentro do texto, para que você possa edita-lo de diferentes maneiras.

  • Para posicionar o cursor na primeira linha do arquivo tecle: gg;
  • Para ir a última linha do arquivo tecle: shift g;
  • Mover o cursor para próxima página (caso haja): Ctrl f;
  • Mover o cursor para página anterior (caso haja): Ctrl b;
  • Posicionar o cursor na primeira linha da tela: shift h;
  • Posicionar o cursor no meio da tela: shift m;
  • Posicionar o cursor na última linha da tela: shift l;
  • Mover o cursor para esquerda: h;
  • Mover o cursor para direita: l;
  • Mover para linha abaixo: j;
  • Mover para linha acima: k;
  • Mover para o início da palavra seguinte: w;
  • Mover para o início da palavra anterior: b;
  • Posicionar o cursor ao fim da linha atual: $ (também conhecido como shift 4);
  • Posicionar o cursor no início da linha atual: 0;
  • Mover o cursor para uma determinada linha: :x (onde 'x' é o número da linha).

- Substituição de strings

Com as instruções abaixo você será capaz de substituir palavras inteiras e caracteres dentro do texto.

  • Substituir o caracter que está sob o cursor por um novo: rX (onde 'X' é o novo caracter);
  • Substituir todas as palavras do texto por uma nova: :%s/palavra_atual/palavra_nova/g.

- Pesquisa por strings

Também existem comandos que fazem a função do Ctrl f (pesquisa em interface gráfica) dentro do Vim.

  • Pesquisar por letra/palavra dentro do texto que esteja antes do cursor: ?palavra;
  • Pesquisar por letra/palavra dentro do texto que esteja após o cursor: /palavra;
  • Com a pesquisa feita na linha acima, procurar a próxima ocorrência da "palavra" no texto: n;
  • Com a pesquisa feita na linha acima, procurar a ocorrência anterior da "palavra" no texto: shift n.

- Salvar (ou não) o texto

Após utilizar as opções acima para manipular o arquivo, você pode optar por salva-lo ou não:

  • Para salvar o arquivo e permanecer com ele aberto: :w;
  • Para forçar o salvamento do arquivo: :w!;
  • Criar uma cópia salva do arquivo: :w novo.txt;
  • Forçar a criação de uma cópia salva do arquivo: :w! novo.txt;
  • Salvar alterações e sair do arquivo: :wq;
  • Salvar alterações e forçar saída do arquivo: :wq!;
  • Sair do arquivo sem salvar alterações: :q;
  • Forçar saída sem salvar alterações: :q!.

Os comandos para "forçar uma situação" ajudam quando por algum motivo o Vim impede a execução.

- Bônus

No primeiro texto que abordei essa ferramenta, havia falado sobre a configuração permanente de algumas funcionalidades básicas para ajudar na utilização do Vim, como numeração de linhas, utilização do mouse, etc.

Nesse tópico, deixo mais algumas funções que podem ser habilitadas no arquivo /etc/vimrc:

  • Aplicar indentação de código ao estilo linguagem C: set cindent;
  • Realizar pesquisa de strings sem diferenciar maiúsculas de minusculas: set ignorecase;
  • Realizar pesquisa com diferenciação de maiúsculas e minusculas: set smartcase;
  • Mostrar a posição do cursor: set ruler;
  • Destacar a string quando estiver digitando na busca: set incsearch;
  • Realiza quebra de linha quando a mesma atingir uma quantidade 'X' de caracteres: set textwidth=X.

Caso não deseje habilitar essas funções de forma permanente, é possível usa-las de forma temporária (enquanto o arquivo estiver aberto). Para isso, use :set smartcase, :set ruler, etc. Quando o arquivo estiver aberto por exemplo.

- Conclusão

O que foi escrito acima não o tornará um perito nesse ótimo editor, mas com certeza você saberá o que fazer quando se deparar com essa versão melhorada do vi.

Espero que a dica acima seja útil para alguém, e caso haja alguma informação errada ou incompleta, fiquem a vontade para comentar.

Valeu.
Pactux - Manjaro Linux
https://github.com/pactux

Esta mensagem de pactux foi agradecido - 2
Holmes (02 Ago 2015, 19:51) • lcom23 (06 Ago 2015, 19:40)
Avatar do usuário
pactux
Aprendiz

 
Mensagens: 24
Artigos: 5
Registro: 09 Jun 2015, 02:55
Agradeceu: 0 vez
Agradecido: 19 vez(es)
Distro utilizada: Manjaro Linux
Versão: 17.1.8
Ambiente: Gnome
Repositório: Stable
Habilidade: Novice

Edição de arquivos com Vim

Mensagempor Holmes » 02 Ago 2015, 19:51  •  MS 2

parabéns @pactux, ótimo tutorial! vou coloca-lo na nossa wiki...

vlw fwi, Holmes :)
Imagem

Meu Blog Kibojoe I Manjaro I JWM I Outras Coisas...

Visitem e colaborem com nosso Knowledge Base
Leia as Regras Gerais e pesquise antes de postar
Se a sua dúvida foi respondida marque Resolvido em seu tópico com o botão V na cor verde
Avatar do usuário
Holmes
Fundador

Mantenedor Kibojoe Linux
Mantenedor Kibojoe Linux
 
Mensagens: 5472
Artigos: 56
Registro: 30 Set 2012, 21:00
Localização: Brasil
Agradeceu: 173 vez(es)
Agradecido: 812 vez(es)
Distro utilizada: Kibojoe Linux
Versão: 18.02
Ambiente: JWM
Repositório: Stable
Habilidade: Intermediate

Edição de arquivos com Vim

Mensagempor pactux » 03 Ago 2015, 21:41  •  MS 3

Holmes escreveu:parabéns @pactux, ótimo tutorial! vou coloca-lo na nossa wiki...

vlw fwi, Holmes :)


Valeu Holmes!
Pactux - Manjaro Linux
https://github.com/pactux
Avatar do usuário
pactux
Aprendiz

 
Mensagens: 24
Artigos: 5
Registro: 09 Jun 2015, 02:55
Agradeceu: 0 vez
Agradecido: 19 vez(es)
Distro utilizada: Manjaro Linux
Versão: 17.1.8
Ambiente: Gnome
Repositório: Stable
Habilidade: Novice

Edição de arquivos com Vim

Mensagempor pagani » 04 Ago 2015, 09:10  •  MS 4

Estou para dizer que só o vim bate em toda suíte office. :lol: :lol:
Imagem
Leia as Regras Gerais e pesquise antes de postar
Se a sua dúvida foi respondida marque Resolvido em seu tópico com o botão V na cor verde
Key ID: 37042A86
Avatar do usuário
pagani
Guru

 
Mensagens: 972
Artigos: 11
Registro: 31 Jan 2014, 14:36
Agradeceu: 9 vez(es)
Agradecido: 171 vez(es)
Distro utilizada: manjaro
Versão: 16.06
Ambiente: xfce
Repositório: testing
Habilidade: Intermediate

Edição de arquivos com Vim

Mensagempor okarintary » 05 Ago 2015, 11:23  •  MS 5

Perfeito Pactux, ótima iniciativa e belo post!

Já uso o Vim como minha 'IDE' no trabalho, mas estou lendo os posts para ver se aprendo mais algumas coisinhas... :)
Avatar do usuário
okarintary
Aprendiz

 
Mensagens: 10
Registro: 22 Dez 2013, 12:45
Agradeceu: 2 vez(es)
Agradecido: 0 vez
Distro utilizada: Manjaro
Versão: 0.8.8
Ambiente: Cinnamon
Repositório: Stable
Habilidade: Novice

Edição de arquivos com Vim

Mensagempor lcom23 » 06 Ago 2015, 19:41  •  MS 6

Parabéns pelo artigo Pactux!
Desktop/Processador Intel Pentium D/HD 250 GB/2 GB RAM/
Imagem
Avatar do usuário
lcom23
Novato

 
Mensagens: 9
Registro: 09 Ago 2014, 10:06
Agradeceu: 2 vez(es)
Agradecido: 1 vez
Distro utilizada: Manjaro
Versão: 0.8.13
Ambiente: LXQt
Repositório: Stable
Habilidade: Novice

Edição de arquivos com Vim

Mensagempor Holmes » 18 Ago 2015, 12:49  •  MS 7

já está na wiki kb.html?a=128.

vlw fwi, Holmes :)
Imagem

Meu Blog Kibojoe I Manjaro I JWM I Outras Coisas...

Visitem e colaborem com nosso Knowledge Base
Leia as Regras Gerais e pesquise antes de postar
Se a sua dúvida foi respondida marque Resolvido em seu tópico com o botão V na cor verde
Avatar do usuário
Holmes
Fundador

Mantenedor Kibojoe Linux
Mantenedor Kibojoe Linux
 
Mensagens: 5472
Artigos: 56
Registro: 30 Set 2012, 21:00
Localização: Brasil
Agradeceu: 173 vez(es)
Agradecido: 812 vez(es)
Distro utilizada: Kibojoe Linux
Versão: 18.02
Ambiente: JWM
Repositório: Stable
Habilidade: Intermediate


Tópicos Semelhantes Estatísticas Última mensagem

Manjaro lento e travando ao copiar arquivos grandes.

por brunoalvesgb » 06 Abr 2020, 12:42

Respostas: 1

Exibições: 343

07 Abr 2020, 18:49

por overlock Ver última mensagem

Voltar para Dicas, Truques e Astúcias



Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes

cron
^ Voltar ao Topo