Korzystając z Vima, czasami patrzę przez chwilę na fragment kodu źródłowego i nagle chcę wyskoczyć jakaś zmienna na ekranie. To proste: /<var>
co wyróżnia je wszystkie. Moim problemem jest to, że wyszukiwanie często przesuwa moje okno, więc nie patrzę na kod źródłowy z tego samego miejsca. Nawet jeśli przesunęła się tylko o kilka wierszy, nadal mnie odtrąca, ponieważ muszę poświęcić kilka sekund, aby dowiedzieć się, dokąd wszystko się zmieniło.
Czy można wyróżnić wyszukiwane hasło bez przenoszenia kursora do następnego dopasowania?
vim
search
highlighting
Andrew Wood
źródło
źródło
Odpowiedzi:
http://vim.wikia.com/wiki/VimTip1572
Jeśli korzystałeś z tej wtyczki, możesz po prostu włączyć tę funkcję
\ m
następnie użyj klawisza NumPad, aby przypisać kolor do tego słowa wszędzie bez poruszania kursorem.
1
Możesz użyć wielu różnych wyróżnień jednocześnie dla wielu różnych słów lub bardziej złożonych wzorców wyszukiwania, jeśli chcesz.
źródło
Odpowiedź skyblue pokazuje sedno idei użycia zwykłego podświetlania wyszukiwania do osiągnięcia tego, co chcesz.
Rozszerzyłem tę technikę, tworząc skrót klawiszowy, który działa podobnie do
*
polecenia , ale bez przechodzenia do następnego dopasowania.Dziękuję garyjohn za wskazanie
expand()
odpowiednika*
wyboru słowa (aby uniknąć używania*
samego siebie i przywracania widoku). Upraszcza to kod na tyle, aby mógł przejść bezpośrednio do mapowania (eliminuje za pomocą funkcji). Dodałem również mapowanie, które pasuje do częściowych słów (jakg*
).źródło
normal *
zastępująclet @/ = @/
jelet @/ = expand("<cword>")
.*
, ale tak<cword>
jest.Możesz także ustawić rejestr wyszukiwania na zmienną, którą chcesz dopasować.
Najpierw upewnij się, że podświetlanie wyszukiwania jest włączone:
Następnie możesz ustawić rejestr wyszukiwania za pomocą:
Spowoduje to podświetlenie wszystkich wystąpień zmiennej bez przechodzenia do następnego meczu.
Aby uzyskać więcej informacji, zobacz
:help @/
źródło
Jednym ze sposobów jest użycie
:match
polecenia, np.Spowoduje to podświetlenie słowa pod kursorem za pomocą grupy wyróżnień Pytanie. Często używam grupy Pytanie, ponieważ na moim terminalu jest ładna zieleń. Aby zobaczyć dostępne grupy wyróżnień, wykonaj
Symbolami
^R
i^W
są odpowiednio Ctrl-R i Ctrl-W i są zastępowane słowem pod kursorem. Widziećpo więcej na ten temat. Widzieć
więcej na temat
:match
polecenia. Aby usunąć zaznaczenie, po prostu wykonajbez argumentów.
źródło
Oprócz:
Może chcesz:
źródło
Podobnie jak
*
my:Warto na to spojrzeć
:h [I
. tam znajdziemy kilka interesujących rzeczy związanych z Twoimi potrzebami.Podobne pytanie dotyczy stackoverflow, w którym umieszczam swoją odpowiedź (nieco bardziej kompletną)
źródło