Vim: записывать обратно мой файл при каждом нажатии клавиши

Я бы хотел, чтобы vim автоматически записывал свой файл как можно чаще. Идеальным было бы каждое нажатие клавиши.

Мне нужно регулярно сохранять, чтобы мой процесс фоновой сборки это увидел. Это make-файл для латексного документа, и я хотел бы, чтобы программа предварительного просмотра показала мне почти обновленный документ, когда я закончу печатать.

Возможный ответ (ответы ниже помогли сделать это)
" Choose your own statusline here
let g:pbstatusline="%F\ %y\ %l:%c\ %m"
set statusline=%F\ %y\ %l:%c\ %m

autocmd FileType tex setlocal autowriteall

" Save the file every 5 keypresses
autocmd FileType tex setlocal statusline=%!pb:WriteFileViaStatusLine()

" Save the file every time this event fires.
autocmd FileType tex :autocmd InsertLeave,CursorHold,CursorHoldI * call pb:WriteFileViaStatusLine("always")

" 1 optional param: "always" is only allowed value.
let s:writefilecounter = 0
function! pb:WriteFileViaStatusLine(...)
   if s:writefilecounter > 5 || (a:0 > 0 && a:1 == "always")
      if &buftype == ""
         write
      endif
      let s:writefilecounter = 0
   else
      let s:writefilecounter = s:writefilecounter + 1
   endif

   return g:pbstatusline
endfunction

Ответы на вопрос(6)

Ваш ответ на вопрос