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:
Iniciar vi/m com duas janelas horizontais, com test1 no topo e test2 na parte inferior
vim -o test1 test2

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

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:

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:

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:

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:

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

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

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

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/