2012-01-08
undo履歴を復元して再開する
この記事は Vim Advent Calendar 2011 : ATND の40日目の記事ですです。
VIm Advent Calendarを見て興味持った or 初心者向けの紹介記事になります。
undo
Vimではノーマルモードで u と打つと 元に戻す(undo) が発動し、
行き過ぎたundo直す為に Ctrl-R を打つと やり直し(redo) が発動します。
ほとんど使いませんが、undoブランチを辿る様な使いかたも一応あります。
無限undo
さて、このundo履歴は、Vimを終了したら消えてしまうというのが昔の仕様でしたが、
Vim7,3からはファイルにundo履歴を書き出して、終了をしても再開が可能となりました。
※Vimのバージョンは端末上なら以下で詳細に見れます。
$ vim --version
無限undoを使うには vimrc という設定ファイルに以下を書き込むと実現する事が出来ます。
if has('persistent_undo') set undodir=~/.vimundo set undofile endif
set undodir= に続く所が保存するディレクトリ先で、これを自分で指定します。
set undofile は、undo履歴を保存して再開させるという設定です。
これで安心してファイルを編集して、そして閉じる事が出来る様になります。
もうなくてはならない機能になっています。とりあえず書いておけば損しません。
終わりに
なんか Vim-users の Hack#162 をなぞっただけの記事になってしまいました。
更に詳しく使いたいという人が入れば gundo.vim というプラグインもあります。
試してみてください。(自分は結局使わないので消してしまいましたが)
突然本流の Vim Advent Calendar に参加してみましたが、毎日楽しみでした。
次の日の人は今のところ居ないみたいですが、誰でも気楽に参加出来るらしいです。
41日目の記事を書くのはあなたかも知れません。
- 62 http://atnd.org/events/21925
- 26 http://vim-jp.org/2012/01/10/vim_advent_calendar.html
- 15 http://t.co/mUxaCe0g
- 14 http://t.co/sHFE6bFl
- 5 http://t.co/ZGQ0ia7l
- 4 http://reader.livedoor.com/reader/
- 4 http://www.google.co.jp/url?sa=t&rct=j&q=Boost+ini&source=web&cd=4&ved=0CEAQFjAD&url=http://d.hatena.ne.jp/abulia/20101227/1293467451&ei=ji8OT8X3LIzIrQfZqeTuAQ&usg=AFQjCNHnu-_uDGftx9sEi6IJpUe8rhWLeA
- 4 http://www.google.co.jp/url?sa=t&rct=j&q=gundo.vim&source=web&cd=4&ved=0CDsQFjAD&url=http://d.hatena.ne.jp/abulia/20110504/1304498163&ei=kYkST5GvBuPMmAXsocDYDw&usg=AFQjCNFnbn-o83y4eha_d9Gn7NkUCc4mQw&sig2=gNU-ny5uKLqk395Dw6fMmQ
- 3 http://www.google.com/url?sa=t&rct=j&q=gundo.vim+使い方&source=web&cd=2&ved=0CCcQFjAB&url=http://d.hatena.ne.jp/abulia/20110504/1304498163&ei=shYXT8iqGsj1mAXD6eieAw&usg=AFQjCNFnbn-o83y4eha_d9Gn7NkUCc4mQw
- 2 http://ezsch.ezweb.ne.jp/search/?sr=0101&query=boost ini