Como executar duas pesquisas de uma só vez no Vim?

5

No Vim, muitas vezes me pego executando uma pesquisa imediatamente seguida por outra pesquisa. Eu estou querendo saber se eu posso combinar as duas pesquisas em um comando.

Por exemplo, se eu quiser encontrar a primeira instância da variável foobar em uma função chamada transmogrify , digite:

/def transmogrify
/foobar

Ou se eu estiver em um arquivo de registro e quiser procurar um erro que aconteceu depois de uma data específica:

/2012-07-26
/ERROR

Existe uma maneira melhor de fazer isso? E não, não estou olhando para gravar uma macro.

    
por arussell84 26.07.2012 / 17:32

2 respostas

8

O mais fácil pode ser, por exemplo,

/def transmogrify/;/foobar
    
por 26.07.2012 / 17:40
1

Você pode usar o símbolo | para fazer uma operação OR ao pesquisar.

Tomando seu segundo exemplo, por exemplo:

/2012-07-26\|ERROR

Melhor ainda, se você tiver isso definido no seu vimrc:

" Make search expressions "very magic"
nnoremap / /\v
vnoremap / /\v

Então você não precisa escapar do | . Por exemplo:

/\v2012-07-26|ERROR
    
por 26.07.2012 / 17:50

Tags