VIM Pesquise e substitua

VIM Pesquise e substitua
Vim é um editor de texto avançado e popular que vem pré -instalado na maioria das distribuições Linux. É um editor de texto baseado em linha de comando que é usado principalmente em sistemas operacionais não baseados em GUI. É altamente configurável e vem com muitos recursos. Um ponto significativo em relação ao vim é que ele é altamente otimizado para repetição.

Neste artigo, explicaremos um de seus recursos mais úteis que é pesquisar e substituir. Com um punhado de configuração, você pode pesquisar o que quiser na velocidade em chamas e com granularidade mais fina.

Método 1 Encontre e substitua uma ocorrência de cada vez (usando o comando Slash e Dot)

A maneira mais simples de pesquisar e substituir uma palavra em vim é usando o comando Slash e Dot. Slash (/) pode ser usado para procurar uma palavra enquanto o ponto (.) pode ser usado para substituir essa palavra.

Siga as etapas simples abaixo para pesquisar e substituir qualquer palavra no editor Vim:

  • Abra o arquivo em Vim
  • Pressione a tecla Slash (/) junto com o termo de pesquisa como "/ Search_term" e pressione Enter. Ele destacará a palavra selecionada.
  • Em seguida, bata no pressionamento da chave CGN Para substituir a palavra destacada e inserir o replyed_term
  • Volte ao modo normal. Em seguida, pressione “N” para passar para a próxima ocorrência do termo de pesquisa.
  • Em seguida, pressione o ponto (.) se você deseja substituir a próxima ocorrência pelo mesmo replyber_term de outra forma, pressione novamente a tecla "N" para se mover para a próxima ocorrência.

É o método mais rápido e melhor para pesquisa básica e substitui as funções, pois envolve apenas algumas teclas e menos interrupções em seu trabalho atual. No entanto, para procurar uma palavra que ocorra muitas vezes, ela se tornará uma tarefa repetitiva e demorada.

Com o VIM, há outra maneira melhor de evitar essa tarefa repetitiva que está usando o comando substituto.

Método 2 Encontre e substitua usando o comando substituto

O comando substituto pode ser usado para executar a pesquisa básica a avançada e substituir funções por um único comando. A sintaxe para este comando é:

$: s///opção

Observe que você precisa inserir este comando no modo normal.

Onde

  • S: significa substituto
  • Search_term: a palavra que você deseja pesquisar e substituir
  • substitua_term: a palavra pela qual você deseja substituí -la
  • Opção: C (para confirmação), G (substitua toda a ocorrência em uma linha), i (por ignorar o caso)

Pesquise e substitua

Para executar a pesquisa básica e substituir usando o comando substituto, use a seguinte sintaxe:

:%s///g

Este comando substituirá todas.

Por exemplo, este é o nosso texto de amostra:

“Ubuntu é um dos sistemas operacionais Linux mais usados. Ubuntu inclui milhares de programas úteis. Com a linha de comando do Ubuntu, você pode realizar quase qualquer tipo de tarefa ”.

Para substituir cada ocorrência de "Ubuntu" por "Debian" no texto a seguir, seria usado o seguinte comando:

:%s/ubuntu/debian/g

Pesquise e substitua em uma única linha

Para pesquisar e substituir a ocorrência de uma palavra apenas em uma única linha em vez de todo o arquivo, use a seguinte sintaxe:

: s//

Por exemplo, para substituir a ocorrência do Ubuntu pelo Debian no texto da amostra acima, seguindo o comando sem o símbolo % seria usado:

: s/ubuntu/debian/g

Pesquise e substitua pela confirmação

Se você deseja confirmar antes de substituir o termo de pesquisa, use "C" no final do comando de pesquisa da seguinte forma:

: s///gc

O comando acima solicitará confirmação antes de cada substituição (digite y para sim enquanto n por não).

Pesquisa e substituição insensíveis a casos

Quando você executa a pesquisa e substituição no VIM, por padrão, é sensível ao maiúsculas. Você pode realizar uma pesquisa insensível ao caso adicionando "i" no final do comando da seguinte maneira:

: s///gi

Por exemplo, para procurar o termo "Ubuntu", independentemente do seu caso (Ubuntu, Ubuntu, Ubuntu, Ubuntu), o seguinte comando seria usado:

: s/ubuntu/debian/gi

Pesquise e substitua a palavra inteira

Por padrão, a pesquisa de comando substituta para qualquer correspondência, seja parcial ou completa. Para corresponder ao exato Search_term e substituí -lo pelo substituto_term, inclua a pesquisa _ termo no "".

Por exemplo, em alguns documentos, você deseja pesquisar e substituir a palavra exata "você" por "eu". Nesse caso, o seguinte comando seria usado:

: s/\/meu/

Ele encontrará a palavra "você" e substituí -la por "eu". No entanto, ele não substituirá as palavras como "seu".

Pesquise e substitua as palavras entre linhas específicas

Para procurar uma palavra entre as linhas específicas em vez de apenas uma linha ou o arquivo inteiro, a seguinte sintaxe pode ser usada:

:,s///g

Por exemplo, para pesquisar e substituir a ocorrência do Ubuntu por Debian de linhas que variam de 3 a 8 em algum arquivo, o comando seria:

: 1,10s/ubuntu/debian/g

Para pesquisar e substituir a ocorrência de uma palavra da linha atual para o próximo número x de linhas, seria usada a seguinte sintaxe:

:

Da mesma forma, para pesquisar e substituir a ocorrência de uma palavra da linha atual para a última linha: a seguinte sintaxe seria usada:

:.,$ s/search_term/replymter_term/g

CONCLUSÃO

Neste artigo, aprendemos as duas maneiras da linha de comando de pesquisar e substituir qualquer palavra em um editor do VIM. O primeiro comando que estava usando a barra e o ponto é o método mais simples e fácil, mas acaba sendo repetitivo quando você está pesquisando e substituindo uma palavra que ocorre muitas vezes. O outro comando que é o comando de substituição uma vez pode parecer difícil e complexo, mas depois de começar a praticá -lo, você achará extremamente útil em vários cenários.