Что такое переменная @@ vim?

Я знаю, что, набрав @@ , я выполняю последнюю команду @. Но может ли кто-нибудь объяснить, что @@ находится в приведенном ниже коде (находится в файлах справки 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

Похоже, это регистр, но его нет в списке на : справочные регистры . Из чтения кода я предполагаю, что это регистр по умолчанию для восстановления / удаления? Это где-нибудь задокументировано? Все мои поиски просто приводят к идиоме @@ , которая выполняет последнюю команду @.

6
задан Paul A Jungwirth 15 December 2010 в 21:29
поделиться