vim通过事件驱动实现实时自动保存功能

       有些时候,在用vim编辑文件的,由于种种原因忘记或者来不及手动保存(在末行模式下 :w!)而导致花费大量心血所做的修改丢失,不得不重新创作,本人也亲自遇到过3次,本着事不过三的原则,决定研究研究vim的自动保存功能。


首先尝试了《VIM 自动保存的最佳方案?http://segmentfault.com/q/1010000000592658》一直不成功,知道原因的同学欢迎指教。


其次尝试了https://github.com/907th/vim-auto-save,技术分享下面说一下方法:技术分享


? wget https://github.com/907th/vim-auto-save/archive/master.zip

? unzip master.zip

? mkdir  -p  ~/.vim/{plugin,doc,syntax}

? cp vim-auto-save-master/plugin/AutoSave.vim ~/.vim/plugin/

?  ~  vim ~/.vim/plugin/AutoSave.vim

;永久开启autosave模式 

17   "let g:auto_save = 0    
18    let g:auto_save = 1

;在光标插入模式调用autosave,我的mac上找不到CompleteDone事件(从7.3.598的patch开始引入,vim 7.4已支持),故注释掉,不然的话报错

 40     "au CursorHoldI,CompleteDone * call AutoSave()
 41      au CursorHoldI * call AutoSave()


报错信息:

?  ~  vim /Users/laijingli/.vimrc
Error detected while processing /Users/laijingli/.vim/plugin/AutoSave.vim:
line   39:
E216: No such group or event: CompleteDone * call AutoSave()
Press ENTER or type command to continue


大功告成。


参考:http://www.ibm.com/developerworks/cn/linux/l-vim-script-5/



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。