Я хотел бы добавить в мой файл .vimrc функцию, которая обновляет текст в открытом документе, особенно там, где он находит текст «Количество слов»: он будет использовать vim для вставки точного количества слов в текущий документ. .
В основном это упражнение по программированию, и для лучшего изучения vim я знаю, что для этой работы доступны внешние программы, такие как wc.
Вот пример аналогичной функции, которую я использую для подсчета строк кода:
function! CountNonEmpty()
let l = 1
let char_count = 0
while l <= line("$")
if len(substitute(getline(l), '\s', '', 'g')) > 3
let char_count += 1
endif
let l += 1
endwhile
return char_count
endfunction
function! LastModified()
if &modified
let save_cursor = getpos(".")
let n = min([15, line("$")])
keepjumps exe '1,' . n . 's#^\(.\{,10}LOC:\).*#\1' .
\ ' ' . CountNonEmpty() . '#e'
call histdel('search', -1)
call setpos('.', save_cursor)
endif
endfun
autocmd BufWritePre * call LastModified()
Может кто-нибудь помочь мне разобраться, как добавить функцию LastModified, чтобы она вставляла счетчик слов, где он находит текстовый счетчик слов в заголовке?