Sé que esto funciona:
:%s/<string>//gn
Pero parece un poco extraño usar el comando de sustitución para contar, en lugar de global.
Anteriormente he usado un complemento para esto. vim-indexed-search le da un mensaje en la línea de comando como:
2 of 32 matches
Para búsquedas usando /
Parece que no hay otra manera. De hecho, esta es la forma oficial descrita en la documentación de Vim.
Vea esta pregunta SO titulada: Contar las ocurrencias en Vim sin marcar el búfer cambiado y, por extensión, este párrafo de la documentación de Vim .
Alternativamente, también existe esta pregunta SO, titulada: Buscar cadena y obtener recuento en el editor vi , pero tenga en cuenta que este método solo contará líneas que no sean coincidencias reales, por lo que si tiene múltiples coincidencias por línea, no obtendrá un recuento correcto.