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 .

  • Настройте bash и / или vim для запуска source ~ / .bashrc каждый раз, когда я закончу его редактирование
  • Почему vim повторно вставляет мою предыдущую вставку при попытке сохранить?
  • Заменить строку другой строкой в ​​редакторе vi
  • Удалите vim вручную после checkinstall
  • Vim заменить в визуальном режиме
  • Является ли Vim иммунным для атаки с копией-пастой?
  • Как заменить слова в файле git rebase
  • Установка vim / emacs на solaris 8
  • Как выражать «Есть указанный символ в следующих неизвестных числах символов» в regex (vim)?
  • Запуск внешних команд в vim
  • Загрузка цветовой схемы не влияет на Vim
  • Linux и Unix - лучшая ОС в мире.