У меня есть несколько макросов для рефакторинга кода, который я унаследовал. Например, этот макрос добавляет пробелы вокруг символа = :

nnoremap <leader>bg /[^ ]=[^ ]<Return>a <Esc>la <Esc>

Поэтому получается так:

$some=thing();

В это:

$some = thing();

Однако в некоторых местах я предпочитаю оставлять = без пробелов:

<td class="foobar">

Как можно разделить "поиск" и затем "выполнить" действия, чтобы я мог нажать <leader>bg для перехода к следующему экземпляру проблемного кода, а затем нажать j чтобы пропустить или k чтобы выполнить действие?

Я пытался написать функцию, но не вижу, как получить односимвольный ввод в функцию после выполнения действия (переместил курсор к следующему проблемному вхождению).

1 ответ1

2

Как насчет одного поиска / замены с подтверждением?

:%s/\([^ ]\)=\([^ ]\)/\1 = \2/c

что вы можете использовать в отображении:

nnoremap <leader>bg :%s/\([^ ]\)=\([^ ]\)/\1 = \2/c

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .