Ada dua cara ini dapat dicapai, cara penulisan naskah murni dan wc
cara.
Cara vim murni
Anda dapat menggunakan perintah pencarian dan ganti untuk melakukan ini. Sebagai contoh:
:%s/\<\w\{-}\>//gn
Apa yang dilakukan adalah alih-alih mengganti pola yang diberikan dengan sesuatu, itu hanya menghitung kemunculan pola tersebut. Ini karena n
benderanya. Untuk menghitung kata-kata di bagian tertentu (dalam hal ini baris 5 hingga 15), Anda dapat melakukan sesuatu seperti ini:
:5,15s/\<\w\{-}\>//gn
Ini menghilangkan kebutuhan untuk menarik konten pilihan ke dalam register. Untuk melihat lebih banyak kemungkinan untuk apa yang dapat dilakukan 5-15
, baca topik bantuan untuk cmdline-ranges
. Jika Anda ingin sering melakukan ini, mungkin baik untuk membuat pemetaan (atau perintah) untuk itu. Juga, jika Anda telah hlsearch
mengaktifkan, Anda mungkin ingin menjalankan :nohlsearch
sesudahnya untuk menghapus sorotan.
The wc
cara
Hal yang sama dapat dicapai wc
. Dengan cara yang sama Anda dapat menggunakan cmdline-ranges
untuk memilih area dengan :s
perintah, Anda dapat menggunakannya dengan perintah eksternal. Sebagai contoh:
:5,15!wc -w
Ini menjalankan baris 5 hingga 15 melalui wc
perintah. Kelemahan dari ini adalah bahwa ia mengganti rentang garis dengan output dari perintah. Anda dapat membatalkan perubahan ini dengan menekan u
. Perhatikan juga bahwa solusi vimscript mungkin tidak berfungsi dengan bahasa yang berbeda, karena \w
tidak cocok dengan apa yang biasanya menjadi karakter kata dalam bahasa lain. wc
mungkin lebih baik dalam hal ini daripada \w
. Juga, ini adalah perintah mewah untuk membuatnya lebih cepat untuk melakukan ini:
command -range=% -addr=lines WordCount execute '<count>!wc -w' | .y a | undo | echo @a
Perhatikan bahwa ini akan menghalangi a
register.
Catatan
Tampaknya ini juga dapat dilakukan dalam mode visual dengan g<C-g>
kombinasi tombol. Lihat jawaban Carpetsmoker untuk penjelasannya.