Pesquisa de site

8 dicas e truques interessantes do editor ‘Vi/Vim’ para cada administrador 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 das razões apresentadas anteriormente, aprender como 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 isto, vamos começar.

DICA #8: Crie janelas horizontais ou verticais

Esta dica foi compartilhada por Yoander, um de nossos leitores, na Parte 1. Você pode iniciar o vi/m com múltiplas divisões horizontais ou verticais para editar arquivos separados dentro da mesma janela principal:

Inicie o vi/m com duas janelas horizontais, com test1 na parte superior e test2 na parte inferior

vim -o test1 test2 

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

vim -O test3 test4 

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

  1. Ctrl+wk – topo
  2. Ctrl+w j – inferior
  3. Ctrl+w l – esquerda
  4. Ctrl+w h – direita

DICA #9: Altere letras, palavras ou linhas inteiras para MAIÚSCULAS ou minúsculas

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

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

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

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

DICA #10: Exclua caracteres, palavras ou até o início de uma linha no modo INSERT

Embora você possa excluir caracteres ou várias palavras de uma vez no modo ex (ou seja, dw para excluir uma palavra), você também pode fazer isso no modo Inserir da seguinte forma:

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

DICA #11: Mova ou copie linhas existentes para outra linha do documento

Embora seja verdade que você pode usar os conhecidos comandos dd, yy e p no modo ex para excluir, arrancar (copiar) 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 esteja atualmente colocado.

Para o próximo exemplo usaremos um pequeno poema intitulado “Forever” de Terri Nicole Tharrington. Para começar, faremos com que o vim exiba os números das linhas (:set nu no modo Command – considere isso uma dica extra). Usaremos :3copy5 (também no modo Command) 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 up e a antiga linha 1 agora ocupa a linha 7:

DICA #12: conte as correspondências resultantes de uma pesquisa por padrão e passe de uma ocorrência para outra

Esta dica é baseada no comando substituto (dica #7 na Parte 1 desta série), com a exceção de que não removerá nada, pois o comportamento substituto é substituído por a opção n, resultando na contagem de ocorrências do padrão especificado:

Certifique-se de não omitir nenhuma das barras!

:%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 ir para a instância anterior, pressione N.

DICA #13: Abra diretamente o vi/m em uma linha especificada

Por padrão, quando você inicia o vi/m, o cursor é inicialmente colocado na última linha que foi editada. Se quiser 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 um pouco este exemplo. 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 dar uma olhada mais de perto no que o comando acima faz:

  1. grep -in pattern filename – 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.
  2. sed -n 3p – exibe a terceira linha da saída do pipeline anterior.

Finalmente,

  1. cut -d: -f1 retorna o primeiro campo do pipeline anterior com dois pontos (:) como 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.

DICA #14: Personalizando seu ambiente vi/m

Se você usar vi/m para editar arquivos de configuração ou para escrever código, você desejará ser capaz de exibir os números das linhas quando abrir o programa pela primeira vez e definir o recuo automático para que quando você pressionar a tecla Enter tecla, o cursor será colocado automaticamente na posição correta. Além disso, você pode personalizar o número de espaços em branco que uma guia ocupa.

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

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

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

DICA #15: Obtenha ajuda/opções gerais do Vim com vimtutor

Se a qualquer momento você precisar aprimorar suas habilidades gerais em vi/m, você pode iniciar o vimtutor a partir da linha de comando, que exibirá uma ajuda completa do vi/m que você pode consultar quantas vezes desejar. sem a necessidade de abrir um navegador da web para pesquisar como realizar uma determinada tarefa no vi/m.

vimtutor

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

Resumo

Nesta série de 2 artigos, compartilhei várias dicas e truques do vi/m que devem ajudá-lo a ser mais eficaz quando se trata de editar texto usando ferramentas de linha de comando. Tenho certeza de que você deve ter outros – então sinta-se à vontade para compartilhá-los com o resto da comunidade usando o formulário abaixo. Como sempre, perguntas e comentários também são bem-vindos.