Autor Subscrever este autor
Avatar do usuário
pactux
Aprendiz
Aprendiz
 
Artigos: 5
Registro: 09 Jun 2015, 02:55
Distro utilizada: Manjaro Linux
Versão: 16.06
Ambiente: Gnome
Repositório: Stable
Habilidade: Novice
Pesquisar artigos

Exportar artigo
Compartilhar em
Blogger Delicioso Digg Facebook Feed amigo Google Linked In Live Mixx MySpace Netvibes Reddit Stumble Upon Technorati Twitter Wordpress
 

Editando arquivos com Vim

ID do artigo: 128
Adaptado por: pactux
Adaptado em: 18 Ago 2015, 12:48
Descrição do artigo: Neste artigo que escrevo vou falar a respeito do processo de edição de arquivos utilizando o editor de textos Vim.
Link externo para este artigo:
http://www.manjaro-linux.com.br/forum/kb.php?a=128

Imagem

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.

Referência

Os créditos por este texto são para pactux.

Mudanças

- Holmes, 18/08/2015, inserção do texto.

Conteúdo distribuído sob a licença GNU FDL

Este artigo foi editado por Holmes em 18 Ago 2015, 12:49


^ Voltar ao Topo