Naprawdę podoba mi się incsearch
funkcjonalność 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ę potato
wyróżnić wszystkie litery w moim pliku, tak jak są podświetlone incsearch
podczas pisania?
/potato
?
To bardzo by mi pomogło, gdy używam wyrażeń regularnych. Bardzo bardzo miło byłoby, gdy piszę to:
:%s/potato/banana/
Zamieniłby potato
s na banana
s i podświetlił je - być może zamienniki powinny być w innym kolorze. Nie mógł jednak „zatwierdzić” zmiany, dopóki nie nacisnąłem Enter).
Obecnie używam neovim, na wypadek, gdyby to pomogło.
incsearch
?hlsearch
powinien działać ootb, jeśli piszę,:%s/potato/\0/
aby zamienić napotato
siebie, wtedy wszystkie podświetlone dopasowania są podświetlone.:/pattern<CR>
działa dobrze, a następnie dodaj% s i zamień ciąg. Thene ponownie to poprawia wyszukiwanie i używa CTR-R /, aby wkleić do części wyszukiwania:%s/
:%s/potato/carrot/c
pozwoli ci przeskoczyć („potwierdzić”) przez swoje zamiany (dodaj,g
aby zastąpić wszystkie wystąpienia w tej samej linii), ahlsearch
zobaczysz je wcześniej.Odpowiedzi:
Po krótkich poszukiwaniach znalazłem problem NeoVim , który z kolei został zamknięty przez ten PR , który doprowadził mnie do
inccommand
ustawienia. Dodanie tego do mojego pliku konfiguracyjnego:sprawia, że NeoVim zachowuje się prawie dokładnie tak, jak prosiłem w moim pytaniu. Nie znalazłem czegoś równoważnego dla zwykłego Vima, ale nie szukałem tego bardzo energicznie.
źródło
incsearch
w subtitutions (istota leniwa Vimmer i wolno przyjąć neo rzeczy) to pewnie szukać ziemniaka (/potato
) korzystających zwykłej wyszukiwarki przyrostową highlighighting, a następnie zastąpić z pustym wyszukiwania:%s//banana
. Ale nie wiem, jak to wyglądaset inccommand=nosplit
pod innymi względami.inccommand
ustawienie, że zrobiłem asciinema, pokazując to w pracy, na wypadek, gdyby zmotywowało cię do wypróbowania neovim