Я знаю, что, набрав @@
, я выполняю последнюю команду @. Но может ли кто-нибудь объяснить, что @@
находится в приведенном ниже коде (находится в файлах справки vim)?:
function! CountSpaces(type, ...)
let sel_save = &selection
let reg_save = @@
if a:0
silent exe "normal! `<" . a:type . "`>y"
elseif a:type == 'line'
silent exe "normal! '[V']y"
elseif a:type == 'block'
silent exe "normal! `[\<C-V>`]y"
else
silent exe "normal! `[v`]y"
endif
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
let &selection = sel_save
let @@ = reg_save
endfunction
Похоже, это регистр, но его нет в списке на : справочные регистры
. Из чтения кода я предполагаю, что это регистр по умолчанию для восстановления / удаления? Это где-нибудь задокументировано? Все мои поиски просто приводят к идиоме @@
, которая выполняет последнюю команду @.