Чи є пошук команди для заміни?


12

Мені дуже подобається incsearchфункціонал Vim . Чи є спосіб, щоб він працював, або щось подібне до нього, працював під час заміну?

Наприклад, якщо в звичайному режимі я набираю:

:%s/potato/

Чи можу я potatoвиділити всі файли з мого файлу так само, як вони виділяються, incsearchколи я пишу

/potato

?

Це вже мені дуже допоможе при використанні регулярних виразів. Дуже приємним було б те, коли я пишу це:

:%s/potato/banana/

Це замінить potatos на bananas і виділить їх - можливо, заміни повинні бути іншого кольору. Він не міг "здійснити" зміни, поки я не натиснув клавішу введення).

Наразі я використовую neovim, якщо це допомагає.


1
Ви маєте на увазі incsearch? hlsearchповинен працювати ootb, якщо я ввожу :%s/potato/\0/для заміни potatoсебе, то я бачу, що всі відповідність виділена.
jjaderberg

Звільнився, я мав на увазі шукати. Замінюючи моє запитання, дякую.
кікіто

Це, мабуть, не кошерно, але :/pattern<CR>працює чудово, тоді додайте% s та рядок заміни. Знову ж таки, Thene уточнює пошук і використовує CTR-R /, щоб вставити на пошукову частину:%s/
Стів

Звернення до @jjaderberg: :%s/potato/carrot/cдозволить вам перейти ("підтвердити") через свої заміни (додати, gщоб замінити всі екземпляри в одному рядку), і hlsearchви побачите їх заздалегідь.
Рольф

Відповіді:


9

Трохи пошукавши , я знайшов цю проблему NeoVim , яку в свою чергу закрив цей піар , який привів мене до inccommandналаштування. Додавання цього до мого конфігураційного файлу:

set inccommand=nosplit

змушує NeoVim вести себе майже так, як я просив у своєму запитанні. Я не знайшов щось еквівалентне для звичайного Vim, але я не шукав цього дуже енергійно.


4
У вашому situtaion, для incsearchв subtitutions (будучи ледачий Vimmer і повільно прийняти нео речі) , я б , ймовірно , шукати картопля ( /potato) користується звичайним інкрементного пошуком highlighighting, а потім замінити порожній пошук: %s//banana. Але я не знаю, як це порівнюється з set inccommand=nosplitіншими аспектами.
jjaderberg

Дякую! Я не знав "порожнього фокусу пошуку". Я спробую запам’ятати це, коли буду vim на своїх серверах
kikito

1
@jjaderberg, до речі, мені так сподобалася inccommandнастройка, що я зробив асцинею, показуючи це на роботі, якщо це спонукає вас спробувати неоовім
kikito

2
@jjaderberg Я думаю, що це гідно, щоб відповісти.
Багатий

На жаль, посилання на асцинему зараз мертва.
sjy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.