Home > Vim Hacks > Hack #36: バッファを自動的に保存する

Hack #36: バッファを自動的に保存する

問題

毎回:writeでバッファを保存することに疲れました。 自動的に保存されるようにできないでしょうか。

解決方法

以下の内容をvimrcに追加します。

set autowrite
" set autowriteall

autocmd CursorHold *  wall
autocmd CursorHoldI *  wall

解説

自動的に保存を行うタイミングは色々とあります。

  • :!:next<C-]>などのコマンドが実行されるとき。
  • ユーザーが暫く操作を行っていないとき。

前者については'autowrite'を有効にすることで対応できます。 また'autowrite'では一部のコマンドについては自動保存を行わないのですが、'autowriteall'を有効にすることでそのようなコマンドに対しても自動保存が行われるようになります。ただしそのようなコマンドはうっかり自動保存されては困るケースが考えられるためオプションが分離されています。有効にする場合は:helpを読んで効果をよく理解してからにしましょう。

後者についてはCursorHold/CursorHoldIというイベントがあり、ユーザーが暫く操作を行わなかったときに発行されます。これを利用して変更されている全てのバッファを保存すれば対応できます。 なおCursorHold/CursorHoldIの発行タイミングは'updatecount'で指定できます。

参考資料

kana
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #36: バッファを自動的に保存する
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://vim-users.jp/2009/07/hack36/trackback/
Listed below are links to weblogs that reference
Hack #36: バッファを自動的に保存する from Vim-users.jp

Home > Vim Hacks > Hack #36: バッファを自動的に保存する

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top