🐜
自動的にファイルバックアップする (denops.vim)
またまた denops.vim で plugin
作成しました!
denops auto backup !
インストールと設定
インストールは dein.vim だとこんな感じ。
- dein.toml
[[plugins]]
repo = 'vim-denops/denops.vim'
[[plugins]]
repo = 'yukimemi/dps-autobackup'
depends = 'denops.vim'
on_event = ['CursorHold', 'FocusLost', 'BufWritePre']
hook_add = '''
" デバッグオプション (v:true にするといっぱいログ出る。)
let g:autobackup_debug = v:false
" このプラグインを有効にするかどうか
let g:autobackup_enable = v:true
" 自動保存時に echo 表示するかどうか
let g:autobackup_write_echo = v:true
" バックアップディレクトリ
let g:autobackup_dir = '~/.cache/autobackup'
" 自動保存を行うイベント
let g:autobackup_events = ["CursorHold", "CursorHoldI", "BufWritePre", "BufRead"]
" 自動保存を行わないファイルタイプ
let g:autobackup_blacklist_filetypes = ["log", "csv"]
'''
デフォルトの設定はリポジトリの
README に記載。
自動保存
設定したイベント (デフォルトは CursorHold
と BufWritePre
) 発火時に自動保存が実行される。
g:autobackup_dir/YYYY/MM/DD/ファイル名のパスセパレータを%で置き換えたもの_YYYYMMDD_HHmmssSSS.拡張子
で保存される。 以下のような感じ。
~/.cache/autobackup
└── 2022
└── 05
└── 28
├── %Users%yukimemi%.dotfiles%.config%nvim%rc%dps-autobackup_20220528_140453336.vim
├── %Users%yukimemi%.dotfiles%.config%wezterm%wezterm_20220528_201606161.lua
├── %Users%yukimemi%.dotfiles%.config%zeno%config_20220528_143055933.yml
├── %Users%yukimemi%.dotfiles%.config%zeno%config_20220528_143055943.yml
├── %Users%yukimemi%.dotfiles%.mappings_20220528_200942498
├── %Users%yukimemi%.tmux_20220528_202806025.conf
├── %Users%yukimemi%.zshenv_20220528_201351619
├── %Users%yukimemi%.zshenv_20220528_202705714
コマンド
コマンドで有効化 / 無効化ができる。
" 無効化
:DisableAutobackup
" 有効化
:EnableAutobackup
インスパイア元
以下です。 ずっと使ってお世話になってました!ありがとうございました!
aiya000/aho-bakaup.vim: aho-bakaup.vim backs up any files when you write the file
Discussion