この記事では、Vimで「ファイルの自動保存」が実現できるようになる方法について、プラグインを使ってご紹介します。
[解答] 自動保存プラグイン「vim-auto-save」
Vim自動保存プラグイン「vim-suto-save」のダウンロード元
下記のいずれかのサイトから、プラグイン自体はダウンロードすることができます。
最近は更新されておらず、若干古めではありますが、機能がシンプルな故に不具合はほとんど起きていません。
説明・概要
編集したファイルの保存し忘れを防ぐ、便利なプラグインです。
GitHub の説明書きにはこう書いてあります。
AutoSave – automatically save changes to disk without having to use
GitHub – vim-scripts/vim-auto-save: Automatically save changes to disk:w
(or any binding to it) every time a buffer has been modified.
Inspired by the same feature in RubyMine text editor.
(翻訳) 自動保存 - バッファが変更されるたびに:w(またはそれへのバインド)を使用せずに変更を自動的にディスクに保存します。 RubyMine テキストエディタの同じ機能に触発されました
ちゃんとオリジナルではなく、他のエディタに触発されて作ったことが書かれていて好感が持てますね。
インストール
主なパッケージ管理ツールを利用して、インストールする場合はこちら。
NeoBundle の場合
NeoBundle 'vim-scripts/vim-auto-save'
dein.vim – init.vim の場合
call dein#add('vim-scripts/vim-auto-save')
dein.vim – TOMLファイル の場合
[[plugins]] repo = 'vim-scripts/vim-auto-save'
Vim8から標準のパッケージ管理機能を利用しても構いません。
使い方
下記のコマンドを入力して、自動保存の有効/無効を切り替えられます。
:AutoSaveToggle
このコマンドを実行する度に ON/OFF が切り替わります。初期値は OFF になっています。
有効にすると、インサートモードからノーマルモードに切り替わるタイミングで自動的に保存してくれます。つまり、インサートモードで ESCキー / Ctrl+[ / Ctrl+c を押したときが保存タイミング。
設定
設定値1. いつも自動保存
導入直後は、自動保存機能は無効になっています。もしいつも有効な状態にしたい場合は下記の設定を施します。
" .vimrc let g:auto_save = 1
設定値2. 自動保存が更新時間を変更しないようにする
" .vimrc let g:auto_save_no_updatetime = 1
設定値3. インサートモード中は自動保存しない
" .vimrc let g:auto_save_in_insert_mode = 0
設定値4. 自動保存の通知を非表示
" .vimrc let g:auto_save_silent = 1
設定値5. 自動保存時にタグを生成する
" .vimrc let g:auto_save_postsave_hook = 'TagsGenerate'
このVimプラグインの補足情報
- 利用頻度
- 便利さ
- 導入の簡単さ
関連するVimヘルプ
こちらのプラグインには、Vim上のヘルプはありません。その代わり、非常に簡単なので、下記から README をご覧ください。
参考書籍
Vim力向上には、こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。