친애하는 이 플러그인 사용자 여러분! 죄송합니다. 더 이상 관리하지 않습니다! 여러분 중 누군가가 이를 유지하는 데 관심이 있다면 저에게 연락해 주세요. 그러면 여러분을 기여자로 추가해 드리겠습니다.
자동 저장 - 버퍼가 수정될 때마다 또는 선호하는 이벤트에 따라 :w
(또는 이에 대한 바인딩)를 사용하지 않고도 디스크에 변경 사항을 자동으로 저장합니다.
RubyMine 텍스트 편집기의 동일한 기능에서 영감을 받았습니다.
기본적으로 자동 저장은 일반 모드에서 무언가가 변경될 때마다 그리고 사용자가 삽입 모드를 떠날 때마다 저장합니다. 이 구성은 "가능한 한 자주 저장"과 "filewrite-events에 의존하는 다른 플러그인이 손상되지 않도록 시도"를 혼합한 것입니다.
vundle을 사용하거나 vim.org에서 패키지 버전을 다운로드하세요.
자동 저장은 기본적으로 비활성화되어 있습니다. 활성화/비활성화하려면 :AutoSaveToggle
실행하세요.
시작 시 플러그인을 활성화하려면 g:auto_save
옵션을 사용하세요.
" .vimrc
let g: auto_save = 1 " enable AutoSave on Vim startup
버퍼 또는 창별로 전역 g:auto_save
값을 개별적으로 재정의하는 것도 가능합니다. 예를 들어 전역적으로 자동 저장을 활성화한 경우 일부 파일을 선택 해제할 수 있습니다. 그 반대로 자동 저장이 전역적으로 비활성화된 경우 일부 파일을 선택하세요.
let g: auto_save = 0
augroup ft_markdown
au !
au FileType markdown let b: auto_save = 1
augroup END
자동 저장은 기본적으로 각 자동 저장의 상태 표시줄에 표시됩니다.
(AutoSave) saved at 08:40:55
g:auto_save_silent
옵션을 사용하면 디스플레이를 무음으로 설정할 수 있습니다.
" .vimrc
let g: auto_save_silent = 1 " do not display the auto-save notification
자동 저장이 저장을 수행하는 이벤트는 g:auto_save_events
옵션을 사용하여 조정할 수 있습니다. 기본값인 InsertLeave
및 TextChanged
만 사용하면 일반 모드의 모든 변경 사항과 삽입 모드를 종료할 때마다 저장됩니다.
" .vimrc
let g: auto_save_events = [ " InsertLeave " , " TextChanged " ]
사용할 수 있는 기타 이벤트:
TextChangedI
삽입 모드에서 현재 버퍼의 텍스트가 변경된 후 저장합니다.CursorHold
일반 모드의 updatetime
옵션에 정의된 대로 모든 밀리초를 저장합니다.CursorHoldI
삽입 모드에서도 동일한 작업을 수행합니다.CompleteDone
또한 모든 완료 이벤트 후에 저장을 트리거합니다. Vim 설치에 따라 이러한 명령 중 일부를 사용하지 못할 수도 있습니다. 전체 목록은 자동 명령 개요( :h autocommand-events
)를 참조하세요.
경고! updatetime
옵션을 너무 작게 설정하면 문제가 발생할 수 있으므로 주의하시기 바랍니다. 200은 이미 다른 특정 플러그인과 함께 작동하기에는 너무 작은 것 같습니다. 보다 보수적으로 설정하려면 1000을 사용하십시오.
자동 저장 후크가 필요한 경우(예: 저장 후 태그 생성 또는 이전 저장 중단) g:auto_save_postsave_hook
또는 g:auto_save_presave_hook
옵션을 사용하세요.
" .vimrc
" This will run :TagsGenerate after each save
let g: auto_save_postsave_hook = ' TagsGenerate '
" This will run AbortIfNotGitDirectory function before each save
let g: auto_save_presave_hook = ' call AbortIfNotGitDirectory() '
" Example hook from vim-auto-save-git-hook plugin
function ! AbortIfNotGitDirectory ()
if ...
let g: auto_save_abort = 0
else
let g: auto_save_abort = 1
endif
endfunction
기본적으로 현재 버퍼만 기록됩니다(예 :w
). g:auto_save_write_all_buffers
옵션(예 :wa
)을 사용하여 자동 저장 시 모든 버퍼가 기록되도록 선택할 수 있습니다.
" .vimrc
let g: auto_save_write_all_buffers = 1 " write all open buffers as if you would use :wa
doc/auto-save.txt
는 README.md
의 변환된 버전입니다. 직접 편집하지 마세요. 대신 md2vim을 설치하고 update_doc_from_readme.sh
스크립트를 실행하세요.
개발은 907th/vim-auto-save 저장소에서 이루어집니다. 거기에 버그나 제안 사항이 있으면 보고해 주세요. 어떤 기여라도 환영합니다!
MIT 라이선스에 따라 배포됩니다(LICENSE.txt 참조).
저작권 (c) 2013-2021 Aleksei Chernenkov