Добавление выбранных * предложений * для следующего вхождения - PullRequest
0 голосов
/ 10 февраля 2019

В IntelliJ IDE я могу добавить любые повторяющиеся слова, используя сочетание клавиш «Добавить выделенный текст для следующего вхождения».Когда одновременно выбрано несколько слов, я могу изменить их все одновременно, используя плагин IdeaVim и нажатия клавиш ciw.

Однако я не смог сделать это успешно для предложений.Например, если я выберу группу текста в двойных кавычках: " hello there ", в итоге получится, что я смогу выбрать / выделить дублирующиеся группы hello there, но нажатие любой клавиши приведет к обновлению только первойвыбор hello there, а не другие варианты.

Я понимаю, что могу добиться того же эффекта, просто выполнив поиск / замену по всей странице, но мне нравится удобство добавления экземпляра по одномувремя одним нажатием кнопки.Есть предложения?

1 Ответ

0 голосов
/ 11 февраля 2019

Есть несколько способов достичь упомянутого вами поведения.Однако, если вы ищете метод с визуальным эффектом, похожим на Intellij, вам может понадобиться использовать плагин для vim, например vim-множественные курсоры .

Вотнекоторые способы vim сделать это:

Next Occurence + Redo Last Command :

  1. / для поиска всех случаев (/ привет там)
  2. n для перехода к следующему событию
  3. v и клавиша со стрелкой / l для выбора региона
  4. Замените регион на s или удалите текст в области с помощью x
  5. n для следующего вхождения и . (точка), чтобы повторить последнюю команду и повторить n + .

MACRO :

  1. / для поиска всех случаев (/ привет там)
  2. qq для начала записи макроса на ключ q
  3. Выполните шаги 2-4 из предыдущего метода
  4. q, чтобы остановить запись макроса
  5. @, а затем q, чтобы применить макрос из ключа q

Примечание. Если вы хотите повторить шаг 5 раз, просто добавьте число перед @ (например,5@q применить макрос 5 раз.Если есть только 4 случая, то макрос будет применяться только 4 таймера.)

Найти и заменить :

:%s/ hello there /new value/g, чтобы глобально заменить «привет там» на«новое значение»

Чтобы заменить вхождение в определенном месте, используйте визуальный блок v, чтобы выбрать блок, затем :'<,'>s/ hello there /new value/g, чтобы заменить только в выбранной области

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...