Vi заменит искомую строку

Я знаю, как я могу искать и заменять строку либо глобально, либо в выбранной области.

Но у меня есть привычка перебирать слово, а затем ударить * чтобы найти это слово. Это не только поиск словарной строки, но и игнорирование других строк, для которых искомая строка является подстрокой. Таким образом, поиск выглядит как \<word\> вместо простого word .

  • Vim продолжает показывать сообщение об ошибке в цветовой схеме без каких-либо причин
  • Vim 7.3 с Lua: как его использовать?
  • Как войти в руководство пользователя vim, не находясь в VIM
  • Есть ли эквивалент режима пробелов в emacs для vim?
  • Не удается выйти из Vim с помощью:! Q
  • Блокировать движение для любого типа скобок?
  • Теперь я хотел бы иметь возможность ударить * по слову, а затем заменить все уже обнаруженные и подсвеченные вхождения этой строки, не вводя их снова для команды поиска и замены. Есть ли хороший способ сделать это?

  • Автоматически создавать соответствующие фигурные скобки в vim
  • Каков правильный способ доступа к конкретному файлу справки в Vim?
  • Переход между «if» и «fi» в vim при редактировании сценария bash?
  • vim: как открыть несколько файлов на разные вкладки
  • Копировать grep-выход из редактора vim
  • Как копировать из одного экземпляра vim в другой с помощью регистров
  • 2 Solutions collect form web for “Vi заменит искомую строку”

    Образец текста:

     cat concatenate scat dog and cat 

    Скажем * нажата в первой строке, он будет искать шаблон \<cat\>

    Когда строка поиска остается пустой во время поиска и замены, она будет повторно использовать последний сопоставленный шаблон, поэтому

     :%s//CAT/g 

    приведет к

     CAT concatenate scat dog and CAT 

    От :h :substitute

    Если {pattern} для подстановочной команды пуст, команда использует шаблон из последней замены или :global команды. Если их нет, но есть предыдущий шаблон поиска, этот используется. С флагом [r] команда использует шаблон из последней команды substitute :global или search.

    Чтобы изменить поведение * и # для визуально выбранного текста для поиска только части текста вместо целого слова:

     vnoremap * y/<CR>"<CR> vnoremap # y?<CR>"<CR> 

    Вы можете использовать g* вместо * . От :help gstar

     g* Like "*", but don't put "\<" and "\>" around the word. This makes the search also find matches that are not a whole word. {not in Vi} g# Like "#", but don't put "\<" and "\>" around the word. This makes the search also find matches that are not a whole word. {not in Vi} 

    И затем используйте:

     :%s//replacement/g 

    как предложил @Sundeep.

    Linux и Unix - лучшая ОС в мире.