vim search - definindo cores diferentes para o texto sob o cursor

5

Suponha que a pesquisa do vim encontre 5 correspondências no meu arquivo. Eu vejo todos os 5 destes jogos destacados em amarelo. Eu cculo entre estes pressionando n . Mas, como meu cursor se move de um jogo para o próximo, todos os destaques permanecem da mesma cor. Isso dificulta ver em qual coincidência meu cursor está. Existe uma maneira de dizer ao vim para destacar todas as correspondências com uma cor e, se estiver visitando uma partida usando n , colorir a partida visitante no momento de forma diferente?

    
por The Vivandiere 18.10.2016 / 18:05

1 resposta

1

Não existe uma opção incorporada que permita destacar a corrente de maneira diferente. Ao criar a pesquisa, você tem a opção 'incsearch' , mas é isso.

Você pode usar outro destaque no topo do destaque da pesquisa, por exemplo, com :match ; o átomo de expressão regular especial \%# restringe a correspondência à posição atual do cursor:

:execute 'match IncSearch /\%#' . @/ . '/'

O problema com isso é que o realce precisa ser adaptado sempre que o padrão de pesquisa atual ( @/ ) for alterado (oh, e ele não manipular compensações de pesquisa como /foo/e-1 ). Portanto, você precisaria substituir todos os comandos relacionados à pesquisa ( / , * , etc.) para colocar o comando :match neles. Eu não recomendaria isso.

    
por 24.10.2016 / 09:19