To był problem, który ostatnio miałem. Mam plik zawierający kilkaset wierszy tekstu. Jak mogę wyszukać ciąg między dwoma konkretnymi numerami linii? Na przykład chcę wyszukać między numerami linii 100 i 325.
W funkcji vimscript l:matchedpo wywołaniu muszę przypisać dopasowany ciąg do zmiennej search()i zastanawiam się, czy istnieje krótszy sposób niż to, co obecnie robię: let l:pattern = '\v^Foo: \zs.*' let l:line = search(l:pattern) let l:line_text = getline(l:line) let l:matched = matchstr(l:line, l:pattern) Idealnie chciałbym coś takiego let l:matched = search_text(l:pattern) bez …
Możemy wyszukiwać i zamieniać historię IDE i edytorów tekstu. Podobnie, czy istnieje historia wyszukiwania lub sposób na odzyskanie wcześniej wyszukiwanego wyrażenia w vimie?
Pracuję nad dość dużym projektem C ++. Jednym z bardziej frustrujących aspektów jego organizacji są bardzo duże funkcje umieszczone w śmiesznie dużych plikach. Często chcę wyszukać dowolne wystąpienie określonej zmiennej globalnej lub wywołania funkcji, ograniczone do bieżącej funkcji. Czy istnieje dość prosty sposób na osiągnięcie tego? (Mam zainstalowane ctagi i …
Jeśli chcę usunąć każde słowo, jest to łatwe, ponieważ zrobiłbym coś takiego: :s%/WORD//g Ale co jeśli chcę zrobić xyzz każdym wystąpieniem „WORD”? Na przykład, powiedzmy, że chcę usunąć każdą linię, która zawiera „WORD”. Mogę wymyślić kilka sposobów, aby to zrobić, ale żaden z nich nie wydaje się idealny. 1) /WORD …
Jeśli chcę przejść do następnego ,wiersza, piszę t,. Gdybym chciał przejść do poprzedniego, ,którego mógłbym użyć /n, wejdź, Nale to trochę skrzypce. Jaki jest najlepszy sposób, aby cofnąć tpolecenie i przejść do poprzedniego ,?
Zauważyłem, że kiedy go używam :nohlsearch, tak naprawdę nie robi tego samego :set nohlsearch. W szczególności hlsearchustawienie nie jest faktycznie wyłączane (co jest :set hlsearch) osiągane. Aby zademonstrować, co mam na myśli: :set hlsearch :nohlsearch :echo &hlsearch To drukuje 1( hlsearch jest nadal ustawiony! ) :set hlsearch :set nohlsearch :echo …
Naprawdę podoba mi się incsearchfunkcjonalność Vima . Czy istnieje sposób, aby to działało, lub coś podobnego, działając podczas wymiany? Na przykład, jeśli w trybie normalnym piszę: :%s/potato/ Czy mogę potatowyróżnić wszystkie litery w moim pliku, tak jak są podświetlone incsearchpodczas pisania? /potato ? To bardzo by mi pomogło, gdy używam …
Czy istnieje sposób skonfigurowania VIM do interaktywnego wyszukiwania w każdym pliku dla całego projektu? Przez interaktywne rozumiem aktualizację każdego naciśnięcia klawisza. Coś jak Emacs counsel-git-grep , patrz: przykładowe demo .
Czy istnieje sposób, aby poinstruować Vima, że chcę ignorować znaki diakrytyczne / akcenty podczas wyszukiwania? Na przykład chciałbym móc wyszukać kočička Przez wprowadzenie /kocicka ignorecaseI smartcaseopcje są bardzo przydatne, ale nie wydają się mieć nic wspólnego ze znakami diakrytycznymi / akcentami.
Jeśli mam następujący tekst: foo bar Wybieram go wizualnie i kopiuję. Tekst jest teraz przechowywany w rejestrze bez nazwy "i oto jego zawartość (wynik :reg "): "" foo^Jbar^J Zgodnie z tym wykresem wydaje się, że ^Jjest to notacja karetki dla przesuwania linii. Jeśli chcę powielić rejestr nienazwany w arejestrze, wpisując: …
Próbuję zrozumieć, w jaki sposób mogę używać operatora z kolejnym ruchem wewnątrz mapowania. Na przykład: nmap /c c{here we pending for a motion}/<C-r>"<CR> Mapa powinna wykonać następujące czynności: Aktywuj coperatora i nasłuchuj następnego ruchu; Np. Mogę wpisać tutaj, t,aby zmienić wszystko przed następnym przecinkiem; Przejdź do trybu wstawiania usuwając wszystko …
Oto, co otrzymuję z dokumentacji: \zs„rozpoczyna podświetloną część” po dopasowaniu poprzedniego wyrażenia regularnego, i \@<=„rozpoczyna podświetloną część” po dopasowaniu poprzedniego atomu . Ale nie do końca rozumiem subtelności tego, więc czy ktokolwiek może wyjaśnić, czym różnią się nieco bardziej dogłębnie? Właśnie to mnie zainteresowało: jeśli biegnę /\_s\zsnnoremap tzn. wybierz nnoremappoprzedzony …
Jeśli mam następujące elementy: function foo(bar) { return bar + 1; } I używam, cwaby zmienić pierwszy barna baz, jak przejść do następnego dopasowania bar, aby móc użyć .tej samej zmiany? Nie mogę użyć *, ponieważ wyszukuje bieżące słowo pod kursorem, a głupio nie szukałem barpo raz pierwszy, więc nnie …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.