Pengguna plugin ini yang terhormat! Maaf, tapi saya tidak lagi menyimpannya! Jika ada di antara Anda yang tertarik untuk mempertahankannya, silakan hubungi saya dan saya akan menambahkan Anda sebagai kontributor.
Simpan Otomatis - secara otomatis menyimpan perubahan ke disk tanpa harus menggunakan :w
(atau pengikatan apa pun padanya) setiap kali buffer diubah atau berdasarkan peristiwa pilihan Anda.
Terinspirasi oleh fitur yang sama di editor teks RubyMine.
Secara default, Simpan Otomatis akan menyimpan setiap kali ada sesuatu yang diubah dalam mode normal dan ketika pengguna keluar dari mode penyisipan. Konfigurasi ini merupakan campuran antara "simpan sesering mungkin" dan "coba hindari merusak plugin lain yang bergantung pada peristiwa penulisan file".
Gunakan vundle atau unduh versi paket dari vim.org.
Simpan Otomatis dinonaktifkan secara default, jalankan :AutoSaveToggle
untuk mengaktifkan/menonaktifkannya.
Jika Anda ingin plugin diaktifkan saat startup, gunakan opsi g:auto_save
.
" .vimrc
let g: auto_save = 1 " enable AutoSave on Vim startup
Dimungkinkan juga untuk mengganti nilai global g:auto_save
satu per satu per buffer atau jendela. Misalnya, jika Anda mengaktifkan penyimpanan otomatis secara global, Anda dapat menyisih dari beberapa file. Dan sebaliknya, ikut serta dalam beberapa file, ketika penyimpanan otomatis Anda dinonaktifkan secara global.
let g: auto_save = 0
augroup ft_markdown
au !
au FileType markdown let b: auto_save = 1
augroup END
Simpan Otomatis akan ditampilkan pada baris status pada setiap penyimpanan otomatis secara default:
(AutoSave) saved at 08:40:55
Anda dapat membungkam tampilan dengan opsi g:auto_save_silent
:
" .vimrc
let g: auto_save_silent = 1 " do not display the auto-save notification
Peristiwa di mana Simpan Otomatis akan melakukan penyimpanan dapat disesuaikan menggunakan opsi g:auto_save_events
. Hanya menggunakan InsertLeave
dan TextChanged
, secara default, akan menghemat setiap perubahan dalam mode normal dan setiap kali Anda keluar dari mode penyisipan.
" .vimrc
let g: auto_save_events = [ " InsertLeave " , " TextChanged " ]
Acara lain yang mungkin ingin Anda gunakan:
TextChangedI
akan menyimpan setelah perubahan dilakukan pada teks di buffer saat ini dalam mode penyisipan.CursorHold
akan menghemat setiap jumlah milidetik seperti yang ditentukan dalam opsi updatetime
dalam mode normal.CursorHoldI
akan melakukan hal yang sama dalam mode penyisipan.CompleteDone
juga akan memicu penyimpanan setelah setiap peristiwa selesai. Beberapa dari perintah ini mungkin tidak tersedia, tergantung pada instalasi Vim Anda. Lihat ikhtisar perintah otomatis untuk daftar lengkap ( :h autocommand-events
).
Peringatan! Disarankan untuk berhati-hati dengan opsi updatetime
karena telah terbukti menimbulkan masalah bila disetel terlalu kecil. 200 sepertinya terlalu kecil untuk bekerja dengan plugin tertentu lainnya. Gunakan 1000 untuk pengaturan yang lebih konservatif.
Jika Anda memerlukan kait penyimpanan otomatis (seperti membuat tag pasca-simpan, atau membatalkan penyimpanan sebelumnya) maka gunakan opsi g:auto_save_postsave_hook
atau 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
Secara default hanya buffer saat ini yang ditulis (seperti :w
). Anda dapat memilih bahwa semua buffer ditulis pada penyimpanan otomatis menggunakan opsi g:auto_save_write_all_buffers
(seperti :wa
).
" .vimrc
let g: auto_save_write_all_buffers = 1 " write all open buffers as if you would use :wa
doc/auto-save.txt
adalah versi README.md
yang dikonversi. Jangan mengeditnya secara langsung. Sebaliknya instal md2vim dan jalankan skrip update_doc_from_readme.sh
.
Pengembangan dilakukan di repo 907/vim-auto-save. Silakan laporkan bug dan/atau saran apa pun di sana. Setiap kontribusi disambut baik!
Didistribusikan di bawah Lisensi MIT (lihat LICENSE.txt).
Hak Cipta (c) 2013-2021 Aleksei Chernenkov