Ilekroć chcesz wyszukać tekst w vimie, wpisz tekst, /a następnie ciąg, którego szukasz.
Jednak jeśli ciąg jest długi i chcesz to zrobić wiele razy, czy istnieje sposób, aby to zrobić, abyś nie musiał pisać /andthisreallylongstring
więcej niż jeden raz?
Odpowiedzi:
Naciśnij „n” po zakończeniu wyszukiwania, a następnie powtórzy poprzednie działanie (wyszukiwanie).
źródło
N
przejdzie do poprzedniego wyniku./
przywołuje ostatnie wyszukiwane hasłoq/
także edytowalne okno z wszystkimi ostatnimi wyszukiwanymi terminami./
i Enter powtórzy poprzednie wyszukiwanie. Wciśnięcie?
i Enter powtórzy poprzednie wyszukiwanie do tyłu./Ctrl-F
jest alternatywą dlaq/
tego może być łatwiejszy mnemonik (ctrl-f == find). Podobnie jak q, działa również w trybie poleceń.Jeśli szukany ciąg znajduje się pod kursorem, możesz wpisać, *aby wyszukać go do przodu lub #do tyłu.
źródło
Jak zwykle szukam, to coś takiego;
Vim przechowuje historię twoich wyszukiwań, więc jeśli potrzebujesz poprzednich wyszukiwań, możesz nacisnąć '/' i użyć klawiszy GÓRA i DÓŁ lub <Ctrl-P> <Ctrl-N> do przeglądania historii wyszukiwania.
Możesz także użyć '?' zamiast „/”, aby wyszukiwać wstecz.
Lubię też używać:
Teraz wyszukiwanie będzie rozróżniać małe i wielkie litery, jeśli w ciągach wyszukiwania będą znajdować się wielkie litery.
źródło
Dwie dodatkowe wskazówki, które mogą zwiększyć efektywność wyszukiwania, to
set hlsearch
iset incsearch
.set hlsearch
, cóż, podkreśla wyniki wyszukiwania. Pisz,:noh
aby je wyłączyć, gdy już go nie potrzebujesz.set incsearch
włącza wyszukiwanie przyrostowe.Uzyskane z
:help incsearch
Bez
incsearch
tego wyniki zostaną wyświetlone dopiero po naciśnięciu<CR>
słowa kluczowego wyszukiwania.Przykład:
Chcesz wyszukać
wildignore
Wpisujesz,
/wild
a pierwsze dopasowanie zostanie automatycznie podświetlone.Następnie wpisz
i
i przejdzie do następnego prawidłowego dopasowania.źródło
Kolejna wskazówka, której jeszcze nie uwzględniono: Naciśnięcie znaków,
q
a następnie/
, wyświetli listę poprzednich wyszukiwanych terminów. Możesz edytować je jak każdy inny wiersz w dokumencie, a następnie naciśnij klawisz Enter, aby ponownie użyć ich do nowego wyszukiwania.źródło
Po naciśnięciu, /aby rozpocząć wyszukiwanie, możesz użyć strzałki w górę, aby przewinąć historię wyszukiwania.
Możesz wprowadzić wyrażenie regularne, aby uniknąć konieczności wpisywania całego wyszukiwanego terminu:
and.*longstring
źródło
Czy samo trafienie / brak argumentów nie działa dla Ciebie? We wszystkich naszych systemach powoduje to powtórzenie wyszukiwania, które zostało wykonane jako ostatnie.
źródło
Jest ładny wzór, który można zastosować do wyszukiwania szarpanego tekstu . Nie musisz nawet wpisywać samego słowa, jeśli nawigujesz do niego w inny sposób niż wyszukiwanie. Podsumowując, jeśli wpisujesz pierwszy znak słowa, którego chcesz wyszukać:
(następnie przejdź do następnego meczu z n lub N)
Jednak
*
(lub#
) osiąga prawie to samo, co wszystkie te polecenia. Jedyną różnicą jest to, że możesz być elastyczny, określając ilość słowa, które podajesz (zamiast e, do końca słowa, możesz wybrać tyle, ile chcesz, np. 9l)źródło
/string
- Wyszukaj ciąg znaków do przodu?string
- Wyszukaj ciąg znakówn
- Wyszukaj następną instancję ciąguN
- Wyszukaj poprzednie wystąpienie ciąguźródło
Dużo czasu przy programowaniu będę szukał
aVeryLongVariableNameInTheProgram
.W vimie możesz bardzo łatwo wciągnąć tekst do bufora / rejestru, a następnie wyszukać go:
"Byw
przeciągnąć tekstaVeryLongVariableNameInTheProgram
do bufora B (wybierz swój ulubiony, użyłem B)/^RB
(ukośnik, Ctrl-R, B), aby wkleić bufor B w wierszu wyszukiwaniaOczywiście możesz także ciągnąć do końca linii itp. Zamiast ciągnąć jedno słowo - akurat zdarza mi się używać powyższej sekwencji przez cały czas.
źródło
Dodatkowo możesz wkleić zawartość dowolnego rejestru do monitu wyszukiwania, naciskając Ctrl+, Ra następnie nazwę rejestru, np. / Ctrl+ R0 Enter.
źródło
Czy długi ciąg, w który wpisujesz nazwę zmiennej? Lub długi ciąg znaków w tekście? Następnie naciśnij,
*
aby wyszukać słowo / ciąg pod kursorem.źródło