A necessidade de aprender a usar editores de texto no Linux é indiscutível, já que todo administrador de sistema lida diariamente com arquivos de configuração (texto simples), e na maioria das vezes isso é feito puramente usando uma ou mais ferramentas de uma interface de linha de comando (como nano, vim ou emacs).
Enquanto o nano talvez seja mais adequado para novos usuários, o vim ou o emacs são a escolha de ferramenta para usuários mais experientes devido às suas capacidades avançadas.
Mas há ainda outra razão pela qual aprender a usar um desses editores de texto deve ser uma prioridade para você: você pode se deparar com um servidor apenas de CLI ou encontrar um problema com o gerenciador de desktop em seu servidor ou desktop Linux baseado em GUI e a única opção para examiná-lo e editar arquivos de configuração é a linha de comando.
Entre este artigo e o próximo desta série de 2 artigos, revisaremos 15 dicas e truques para aprimorar suas habilidades no vim. É assumido que você já está familiarizado com este editor de texto.
Se não, faça um favor a si mesmo e familiarize-se com vim antes de prosseguir: você pode querer consultar como usar o editor de texto vim para um guia muito detalhado sobre começar com vim.
1. Acessando a Ajuda Online no Vim
Após iniciar o vim, pressione F1
ou use :h
no modo ex para entrar na ajuda online. Você pode pular para uma seção ou tópico específico colocando o cursor nele e depois pressionando Ctrl+]
(Ctrl
, depois o colchete de fechamento).
Depois de terminar, pressione Ctrl+t
para retornar à tela anterior. Alternativamente, você pode procurar por um assunto ou comando específico com :h <tópico ou comando>
.
Por exemplo,
:h x
irá exibir a ajuda para o comando x (delete):

e
:h substitute
irá trazer a ajuda sobre o comando substitute (nossa dica final neste artigo).
2. Adicionar Marcadores Dentro do Editor Vim
Se você se encontrar editando um arquivo que é maior do que uma tela, você vai apreciar a funcionalidade fornecida pelos marcadores. Você pode pensar em um marcador no vim como um marcador de página – uma vez que você o coloca em algum lugar, você pode voltar a ele rapidamente e facilmente.
Suponha que você esteja editando um arquivo de configuração de 300 palavras e, por algum motivo, precise alternar repetidamente entre as linhas 30 e 150, por exemplo.
Primeiro, vá para a linha #30 inserindo :30
no modo ex, depois volte para o modo de comando e pressione ma (m, depois a) para criar uma marca chamada “a” na linha 30.
Então vá para a linha 250 (com :250
no modo ex) e pressione `a
(acento grave, depois a) para retornar à marca a na linha 30.
Você pode usar letras maiúsculas e minúsculas para identificar marcas no vim (agora repita o processo para criar uma marca chamada A na linha #250).
Você pode visualizar suas marcas com
:marks aA

Como você pode ver, cada marca é referenciada por uma posição específica de linha/coluna no arquivo, não apenas por linha.
3. Limpeza de Código sem Esforço no Vim
Suponha que você esteja editando um script de shell e perceba que o desenvolvedor anterior foi bastante descuidado quando se trata de indentação. Vejamos como você pode corrigir isso com alguns comandos do vim.
Primeiro, selecione um bloco visual colocando o cursor no início do bloco e pressionando Ctrl+v
(Ctrl, depois v).
- Para indentar à esquerda: pressione
<j
- Para indentar à direita: pressione
<j
Em seguida, pressione o comando .
(ponto) para repetir a indentação desejada. O bloco selecionado moverá para a direita ou para a esquerda com apenas uma tecla.
Outro exemplo clássico de uso do comando ponto é quando você precisa excluir uma série de palavras: coloque o cursor na primeira palavra que deseja excluir e, em seguida, pressione dw.
Para continuar excluindo as próximas palavras, basta pressionar .
(mais curto e mais fácil do que repetir dw várias vezes).
4. Inserindo Caracteres Unicode no Vim
Se o layout do seu teclado não permitir que você insira facilmente caracteres Unicode especiais em um arquivo, ou se você se encontrar na frente de um servidor com configurações de idioma diferentes daquelas com as quais está acostumado, este truque será útil.
Para fazer isso, pressione Ctrl+v
no modo de inserção, seguido pela letra u
e o código numérico hexadecimal do caractere que deseja inserir.
Você pode consultar os gráficos Unicode para obter uma lista de caracteres especiais e seus códigos numéricos correspondentes.
Por exemplo,
Ctrl+v followed by | returns |
u0040 | @ |
u00B5 | μ |
u20AC | € |
5. Incorporando Saída de Comando Externo no Vim
Haverá momentos em que você precisará inserir a saída de comandos externos diretamente em um arquivo sendo editado com vim.
Por exemplo, muitas vezes crio uma variável chamada DIR
em meus scripts para armazenar o caminho absoluto para o diretório onde o script reside, a fim de usá-lo posteriormente no script.
Para fazer isso, uso:
:r! pwd
no modo ex. Assim, o diretório de trabalho atual é inserido.
Outro exemplo: se você precisa usar o gateway padrão em algum lugar de um script, você pode facilmente inseri-lo no arquivo atual sem sair do vim da seguinte forma:
:!r ip route show | grep default | cut -f 3 -d " "
6. Anexando Conteúdos de Arquivos Externos no Vim
Se precisar anexar o conteúdo de um arquivo separado ao que está editando atualmente, a sintaxe é semelhante à dica anterior. Apenas omita o sinal de exclamação e está pronto.
Por exemplo, para copiar o conteúdo de /etc/passwd:
:r /etc/passwd
Você pode achar esta dica útil quando precisar modificar arquivos de configuração, mas quiser manter os originais para voltar às configurações de fábrica, por assim dizer.
7. Pesquisar e Substituir uma Palavra no Vim
Uma vez, durante um exame, me pediram para abrir um arquivo de texto grande contendo dados aleatórios. A tarefa atribuída consistia em substituir cada ocorrência da palavra Globe por Terra (sim, ainda me lembro das palavras exatas).
Para aqueles familiarizados com sed, isso soará familiar – no modo ex, digite:
:%s/old/new/g
onde antigo é o padrão a ser procurado e novo é a string que o substituirá.
No caso descrito acima, eu usei:
:%s/Globe/Earth/g
para fazer o trabalho.
E se você quiser ser solicitado antes de fazer substituições? Fácil. Apenas adicione um c ao final do comando acima, da seguinte forma:
:%s/old/new/gc
As ocorrências do padrão serão destacadas e você será perguntado se deseja substituí-lo pela nova string:
:%s/gacanepa/me/gc

onde
- y: yes
- n: no
- a: substitute all
- q: quit
- l: substitute this occurrence and quit
- ^E (Ctrl+E): Role para cima uma tela
- ^Y (Ctrl+Y): Role para baixo uma tela
Resumo
Neste artigo, começamos a revisar algumas dicas e truques do vim para adicionar às suas habilidades de edição de texto. Você provavelmente pensará em várias outras, então por favor compartilhe-as no formulário de comentário abaixo e considerarei cobri-las no próximo e último artigo desta série vim.
Source:
https://www.tecmint.com/learn-vi-and-vim-editor-tips-and-tricks-in-linux/