Vim: подсчитывать все вхождения (в том числе несколько в одной строке) символа или слова

Я пытаюсь подсчитать все вхождения символа или слова в файле с Vim. Это означает, что нужно учитывать и множественные вхождения одного и того же слова в одной строке. Это обсуждалось ранее в нескольких сообщениях: подсчет вхождений в Vim без изменения буфера , поиск строки и получение счета в редакторе vi , есть ли способ подсчитать количество совпадений в Vim, используя: g? , Моя стратегия по умолчанию заключалась в использовании:

%s/PATTERN//gn 

для символов и

 %s/\<PATTERN\>//gn 

для слов. Это указано на странице справки Vim. Однако, похоже, что оба решения игнорируют множественные вхождения в одной строке. Вот пример:

 UTg UTg D1U1K1 UTg D1U1K2 UTg D1U1TW01 UTg D1U1TW02 UTg D1U1TW03 UTg D1U1TW04 UTg D1U1TW05 UTg D1U1TW06 UTg D1U1TW07 UTg D1U1TW08 UTg D1U1TW09 UTg D1U1TW10 UTg UTg UTg D1U2K1 UTg D1U2K2 UTg D1U2TW01 UTg D1U2TW02 UTg D1U2TW03 UTg D1U2TW04 UTg D1U2TW05 UTg D1U2TW06 UTg D1U2TW07 UTg D1U2TW08 UTg D1U2TW09 UTg D1U2TW10 UTg UTg UTg D1U3K1 UTg D1U3K2 UTg D1U3TW01 UTg D1U3TW02 UTg D1U3TW03 UTg D1U3TW04 UTg D1U3TW05 UTg D1U3TW06 UTg D1U3TW07 UTg D1U3TW08 UTg D1U3TW09 UTg D1U3TW10 UTg UTg UTg D1U4K1 UTg D1U4K2 UTg D1U4TW01 UTg D1U4TW02 UTg D1U4TW03 UTg D1U4TW04 UTg D1U4TW05 UTg D1U4TW06 UTg D1U4TW07 UTg D1U4TW08 UTg D1U4TW09 UTg D1U4TW10 UTg 

при использовании %s/UTg//gn будет выводиться 4 вместо 56 . Итак, как я могу подсчитать все вхождения, включая множественные вхождения в одной строке в Vim?

One Solution collect form web for “Vim: подсчитывать все вхождения (в том числе несколько в одной строке) символа или слова”

Можно включить флаг /g по умолчанию :s по умолчанию, установив

 set gdefault 

в .vimrc . Если это задано с помощью

 :%s/PATTERN/gn 

заставит Vim подсчитывать вхождения символов или слов один раз в строке и игнорировать все другие вхождения. Либо используйте

 :%s/PATTERN/n 

в этом случае или удалить set gdefault из .vimrc .

  • Звуковой сигнал при вводе обратной косой черты в обычном режиме cvim
  • Установка vim локально в кластере: не удается найти синтаксис
  • Что делает флаг поиска «z» в VIM?
  • Использование 256 цветных тем, не работающих в vim / putty
  • Как сопоставить ключ ALT в .vimrc?
  • Как изменить имя vim-буфера
  • Визовый режим Vim - есть ли способ изменить цвет фона только в визуальном режиме?
  • В vim, как вы выполняете команду молча в фоновом режиме?
  • Vim Error 'E212: невозможно открыть файл для записи' при попытке создания новых файлов вне домашнего каталога
  • Как установить vim в качестве редактора по умолчанию, когда я sudo?
  • Как ссылаться на скрипт-локальный словарь в сопоставлении Vim?
  • Linux и Unix - лучшая ОС в мире.