Pisząc w C ++ używam wtyczek vim i vim dla Visual Studio. Często szukam ciągu znaków w funkcji, na przykład przy każdym wywołaniu funkcji object->public_member.memberfunc()
.
Wiem, że vim oferuje wygodny sposób wyszukiwania pojedynczego słowa, naciskając *
i #
, a także może wyszukiwać wpisane ciągi za pomocą polecenia wszechobecnego ukośnika /
. Podczas próby wyszukania wszystkich wystąpień dłuższego ciągu, takiego jak powyższy, ponowne wpisanie po nim zajmuje trochę czasu /
.
Czy istnieje sposób wyszukiwania zaznaczenia? Na przykład zaznacz za pomocą v
, a następnie skopiuj za pomocą y
, czy istnieje sposób na wklejenie po /
? Czy jest łatwiejszy skrót?
vim
viemu
string-search
Marcin
źródło
źródło
Odpowiedzi:
Sprawdź tę wskazówkę Vima: Szukaj wizualnie zaznaczonego tekstu
Lub możesz po prostu szarpnąć zaznaczony tekst za pomocą y i przejść do trybu wyszukiwania / , a następnie możesz wkleić ostatni szarpany tekst za pomocą Ctrl + R 0
źródło
Odpowiedź
Wyjaśnienie
q/
działa podobnie do wyszukiwania zwykłego,/
z wyjątkiem tego, że jesteś w trybie poleceń, więc wp
rzeczywistości wykonuje polecenie „wklej” zamiast wpisywania znakup
. Więc powyższe skopiuje szukany tekst i wklei go do wyszukiwania.Aby uzyskać więcej informacji, wpisz
:help q/
źródło
evil-mode
, to faktycznie działa, podczas gdy zaakceptowana odpowiedź psuje się żałośnie (prawdopodobnie z powodu użyciaCtrl
klucza).q/gvp
gdziegv
oznacza ostatnią wizualną selekcję ...q/gvp
nie działa dla mnie. Czy mógłbyś wyjaśnić swoją sugestię?Użyj q / zamiast po prostu / . (Ten sam z Q : ). Teraz możesz edytować VIM poprzez historię poleceń i wyszukiwania! (Spróbuj czasem Ctrl-N i Ctrl-P).
źródło
Właśnie się dowiedziałem (dzięki doskonałej książce Practical Vim ), że istnieje do tego wtyczka. Możesz znaleźć wtyczkę na GitHub .
Wtyczka umożliwia wyszukiwanie wizualnego wyboru za pomocą
*
i#
.źródło
magic
ustawienia. Może to nawet spowodować niepowodzenie wyszukiwania metaznaków wymagających wyważenia. Wspomniana tutaj wtyczka wykona znak zmiany znaczenia przed wyszukaniem zaznaczonego tekstu.n
przejść do następnej znalezionej pozycji, podczas gdy podejście Cory'ego i CMS na to pozwala ..Możesz faktycznie zaznaczyć tekst wizualnie i nacisnąć * i #, aby wyszukać następne wystąpienie ... Będzie działać tak samo, jedyne zastrzeżenie jest takie:
http://vim.wikia.com/wiki/Search_for_visually_selected_text
źródło