2015-10-02 3 views
1

В Vim, у меня есть автосохранение в файл с:Vim- нужен таймер для автосохранения

augroup write_it 
    autocmd! 
    autocmd InsertLeave * write 
    autocmd TextChanged * write 
augroup END 

Это работает очень хорошо. Но мне нужно подождать там, когда я быстро удалю символы в командном режиме TextChanged. Любые идеи как? Это кошмар, в котором работают специалисты по работе с пещерами и больницами.

Я пробовал exec 'sleep 2', но vim is async, и это бесполезно.

ответ

2

Обратитесь за помощью к CursorHold и CursorHoldI событиям. Они запускаются после некоторого периода бездействия в соответствии с опцией 'updatetime'. Вы можете использовать их.

Существует также autowrite. Во всяком случае, он может пойти очень сложно, поэтому, на мой взгляд ваша лучшая альтернатива является повторное использование кода из которых уже думал обо всем этом :-)

• The AutoSave Plugin: https://github.com/907th/vim-auto-save.git

Смежные вопросы