このプラグインのユーザーの皆様!申し訳ありませんが、もうメンテナンスしておりません。あなたの誰かがそれを維持することに興味がある場合は、私に連絡してください。あなたを貢献者として追加します。
AutoSave - バッファが変更されるたび、または優先イベントに基づいて、 :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
AutoSave が保存を実行するイベントは、 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 アレクセイ・チェルネンコフ