Usando o Vim, às vezes me vejo encarando uma seção do código-fonte por um tempo e de repente quero que alguma variável na tela apareça. Isso é fácil: o /<var>
que destaca todos eles. Meu problema é que, na maioria das vezes, a pesquisa muda minha janela, então não estou olhando o código-fonte do mesmo local. Mesmo que tenha mudado apenas algumas linhas, ainda me excita, pois preciso levar alguns segundos para descobrir para onde as coisas foram mudadas.
É possível destacar um termo de pesquisa sem mover o cursor para a próxima correspondência?
vim
search
highlighting
Andrew Wood
fonte
fonte
Respostas:
http://vim.wikia.com/wiki/VimTip1572
Se você usou este plug-in, pode simplesmente ativar a funcionalidade
\ m
em seguida, use uma tecla NumPad para atribuir uma cor a essa palavra em qualquer lugar sem mover o cursor.
1
Você pode usar muitos destaques diferentes de uma só vez para muitas palavras diferentes ou padrões de pesquisa mais complexos, se desejar.
fonte
A resposta da skyblue mostra o núcleo da ideia de como usar o realce de pesquisa normal para realizar o que você deseja.
Estendi essa técnica criando um atalho de teclas que funciona de maneira semelhante ao
*
comando , mas sem passar para a próxima partida.Agradeço a garyjohn por apontar o
expand()
equivalente à*
seleção de palavras (para evitar o uso de*
si próprio e restaurar a exibição). Isso simplifica o código o suficiente para que ele possa ir diretamente no mapeamento (evita o uso de uma função). Também adicionei um mapeamento que corresponde a palavras parciais (comog*
).fonte
normal *
substituindolet @/ = @/
porlet @/ = expand("<cword>")
.*
, mas<cword>
é.Você também pode definir o registro de pesquisa para a variável que deseja corresponder.
Primeiro, verifique se o destaque da pesquisa está ativado:
Em seguida, você pode definir o registro de pesquisa com:
Isso destacará todas as ocorrências da variável sem pular para a próxima partida.
Para mais informações, veja
:help @/
fonte
Uma maneira é usar o
:match
comando, por exemplo,Isso destacará a palavra sob o cursor usando o grupo de destaque Pergunta. Costumo usar o grupo de perguntas, porque no meu terminal é um verde agradável. Para ver os grupos de destaque disponíveis, execute
O
^R
e^W
são Ctrl-R e Ctrl-W, respectivamente, e são substituídos pela palavra sob o cursor. Vejopara mais sobre isso. Vejo
para saber mais sobre o
:match
comando Para limpar esse realce, basta executarsem argumentos.
fonte
Além de:
Você pode querer:
fonte
Semelhante ao
*
que temos:Vale a pena dar uma olhada
:h [I
. lá encontramos algumas coisas interessantes relacionadas às suas necessidades.Há uma pergunta semelhante no stackoverflow em que coloco minha resposta (um pouco mais completa)
fonte