A Maestria do Vim Continua: Mais 8 Dicas Poderosas para Administradores Linux (Parte 2)

No artigo anterior desta série, revisamos 7 dicas e truques para adicionar ao seu conjunto de habilidades vi/m, além dos motivos dados anteriormente, aprender a usar efetivamente um editor de texto no Linux é uma habilidade essencial para um administrador de sistema ou engenheiro e é uma competência necessária para passar em qualquer programa de certificação Linux importante (como LFCS, LFCE, RHCSA e RHCE).

Dito isso, vamos começar.

8. Criar janelas Vim horizontais ou verticais

Esta dica foi compartilhada por Yoander, um de nossos leitores, na Parte 1. Você pode lançar vi/m com múltiplas divisões horizontais ou verticais para editar arquivos separados dentro da mesma janela principal: Lançar vi/m com duas janelas horizontais, com teste1 no topo e teste2 na parte inferior.

Iniciar vi/m com duas janelas horizontais, com test1 no topo e test2 na parte inferior

vim -o test1 test2 
Launch Vim Editor in Horizontal Windows

Iniciar vi/m com duas janelas verticais, com test3 à esquerda e test4 à direita:

vim -O test3 test4 
Launch Vim Editor in Vertical Windows

Você pode alternar o cursor de uma janela para outra com a rotina de movimento usual do vi/m (h: direita, l: esquerda, j: baixo, k: cima):

  • Ctrl+w k – topo
  • Ctrl+w j – inferior
  • Ctrl+w l – esquerda
  • Ctrl+w h – direita

9. Alterar maiúsculas ou minúsculas no Vim

Observe que esta dica só funciona no vim. Nas próximas exemplos, X é um número inteiro.

  • Para alterar uma série de letras para maiúsculas, posicione o cursor na primeira letra, depois digite gUX no modo ex e, finalmente, pressione a seta para a direita no teclado.
  • Para alterar X número de palavras, coloque o cursor no início da palavra e digite gUXw no modo ex.
  • Para alterar uma linha inteira para maiúsculas, coloque o cursor em qualquer lugar na linha e digite gUU no modo ex.

Por exemplo, para converter uma linha inteira minúscula para maiúscula, você deve colocar o cursor em qualquer lugar na linha e digitar gUU:

Change String to Uppercase in Vim Editor

Por exemplo, para converter 2 palavras em maiúsculas para minúsculas, você deve colocar o cursor no início da primeira palavra e digitar gu2w:

Convert String to Lowercase in Vim Editor

10. Excluir Texto no Modo de Inserção do Vim

Embora você possa excluir caracteres ou várias palavras de uma só vez no modo ex (ou seja, dw para excluir uma palavra), você também pode fazê-lo no modo de inserção da seguinte maneira:

  • Ctrl + h: excluir o caractere anterior ao local onde o cursor está atualmente.
  • Ctrl + w: excluir a palavra anterior ao local onde o cursor está atualmente. Para que isso funcione corretamente, o cursor deve ser colocado em um espaço vazio após a palavra que você deseja excluir.
  • Ctrl + u: excluir a linha atual começando no caractere imediatamente à esquerda do local onde o cursor está.

11. Mover ou Copiar Linhas Existentes Dentro do Vim

Embora seja verdade que você pode usar os bem conhecidos comandos dd, yy e p no modo ex para excluir, copiar (yank) e colar linhas, respectivamente, isso só funciona quando o cursor é colocado onde você deseja executar essas operações.

A boa notícia é que com os comandos copiar e mover, você pode fazer o mesmo independentemente de onde o cursor está atualmente colocado.

Para o próximo exemplo, usaremos um poema curto intitulado “Para Sempre” de Terri Nicole Tharrington. Para começar, vamos fazer com que o Vim exiba os números de linha (:set nu no modo Comando – considere isso uma dica extra). Usaremos :3copy5 (também no modo Comando) para copiar a linha 3 abaixo da linha 5:

Move Copy Existing Lines in Vim

Agora, desfaça a última alteração (Esc + u – outra dica bônus!) e digite :1move7 para substituir a linha 7 pela linha 1. Observe como as linhas 2 a 7 são deslocadas para cima e a linha 1 anterior agora ocupa a linha 7:

Move Lines in Vim Editor

12. Navegação e contagem de correspondências de padrão no Vim

Esta dica é baseada na instrução de substituição (dica #7 em Parte 1 desta série), com a exceção de que não removerá nada, pois o comportamento de substituição é anulado pela opção n, resultando na contagem de ocorrências do padrão especificado:

Certifique-se de não omitir nenhum dos slashes!

:%s/pattern//gn 

Por exemplo,

:%s/libero//gn
Count Matches by Search Pattern in Vim

Para passar de uma ocorrência do padrão para a próxima no modo ex, pressione n (N minúsculo). Para passar para a instância anterior, pressione N.

13. Abrir um arquivo no Vim na linha especificada

Por padrão, ao iniciar vi/m, o cursor é colocado inicialmente na última linha editada. Se desejar abrir o programa e colocar o cursor diretamente em uma linha especificada, você pode usar o seguinte truque:

# vim filename +line_number

Por exemplo, abra forever.txt e coloque o cursor na linha 6:

# vim forever.txt +6

Vamos ajustar este exemplo um pouco. Suponha que queiramos abrir o arquivo na linha onde aparece a 3ª ocorrência do padrão:

# vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)

Vamos analisar mais de perto o que o comando acima faz:

  • grep -in padrão nome_do_arquivo – exibe todas as linhas do nome_do_arquivo onde o padrão ocorre, com o número da linha no início de cada linha de saída.
  • sed -n 3p – exibe a 3ª linha da saída do pipeline anterior.

Finalmente,

  • cut -d: -f1 retorna o primeiro campo do pipeline anterior, onde o (:) é o separador de campo.
grep -in forever forever.txt
grep -in forever forever.txt | sed -n 3p
grep -in forever forever.txt | sed -n 3p | cut -d: -f1
Open Vim Editor in Specified Line

O resultado do comando anterior é então passado para vi/m para abrir o programa na linha especificada.

14. Personalizando o Ambiente Vim

Se você usa vi/m para editar arquivos de configuração ou para escrever código, você desejará ser capaz de exibir o número

  • Vim para Administradores do Linux: 8 Dicas e Truques Poderosos (Parte 2)

de linhas quando você abre o programa pela primeira vez e definir a indentação automática para que, quando pressionar a tecla Enter, o cursor seja posicionado automaticamente na posição correta. Além disso, você pode querer personalizar o número de espaços em branco que uma tabulação ocupa.

Embora você possa fazer isso cada vez que iniciar vi/m, é mais fácil definir essas opções no ~/.vimrc para que sejam aplicadas automaticamente:

set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab

Para obter opções adicionais para personalizar seu ambiente vi/m, você pode consultar a documentação online do vim.

15. Obtenha Ajuda Geral do Vim/ com Vimtutor

Se a qualquer momento você precisar aprimorar suas habilidades gerais de vi/m, pode iniciar vimtutor a partir da linha de comando, que exibirá uma ajuda completa do vi/m à qual você pode recorrer sempre que desejar, sem a necessidade de abrir um navegador de internet para pesquisar como realizar uma tarefa específica no vi/m.

vimtutor
Vim Editor Help and Options

Observe que você pode navegar ou pesquisar o conteúdo do Vimtutor como se estivesse navegando em um arquivo regular no vi/m.

Resumo

Nesta série de 2 artigos, compartilhei várias dicas e truques de vi/m que devem ajudá-lo a ser mais eficaz quando se trata de editar texto usando ferramentas de linha de comando.

I’m sure you must have other ones – so feel free to share them with the rest of the community in the comment form below. As always, questions and comments are also welcome.

Source:
https://www.tecmint.com/how-to-use-vi-and-vim-editor-in-linux/