Como posso encontrar uma string usando: argdo no vim?

1

Eu tentei isso:

:argdo /pattern

No entanto, ele passou por todos os arquivos muito rapidamente e não parou em cada local onde a string foi encontrada. Eu só quero iterar sobre todos os locais onde uma string é encontrada, sem substituir.

    
por Matt Fichman 10.01.2014 / 03:56

3 respostas

2

O Vim tem um comando :sleep que você pode usar em seu comando para pausar por alguns segundos em cada partida. Mas uma solução melhor provavelmente seria usar :vimgrep ou mesmo :vimgrepadd para criar uma lista rápida incluindo cada arquivo, que você pode percorrer sozinho com :cnext / :cprev .

    
por 11.01.2014 / 19:20
0

Você provavelmente encontrará este screencast muito instrutivo.

Uma alternativa mais simples (e menos poderosa) e relativamente obscura (leia :help :ilist ):

:argdo ilist foo
:b <bufname>|<line number>
    
por 10.01.2014 / 08:56
0

Você pode usar :vimgrep /pattern/ ## .

Esse comando pesquisará seus arquivos arglist (a mesma lista que argdo usa), carregará as correspondências na lista quickfix e, em seguida, levará você para a primeira correspondência. Você pode então usar :cn para passar para a próxima partida.

Se você usa muito a correcção rápida, vale a pena instalar sem IVA . Isso fornecerá mapeamentos de teclas para navegar rapidamente pela lista de correções rápidas (por exemplo, ]q em vez de :cn ).

Esta página fornece uma boa visão geral sobre o vimgrep e usando a lista de correcções rápidas. link

    
por 16.12.2016 / 03:04

Tags