【Vim】変更履歴をツリー状に遡れるプラグインundotreeのススメ

undotreeVim

下の動画のようにundoしてから何かを編集し、やっぱりundo前に戻したいと思った時、undoが上書きされてしまって戻れない、という状況に出くわしたことはありませんか?

hogeと書いてから、undoしてhageと書き直す  この状態からundoしてもhogeには戻れない。

例)
hogeと書いてから、undoしてhageと書き直す
この状態からundoしてもhogeには戻れない。もうあのフサフサの頃には戻れない!!

多くのエディタでは変更履歴を直線的に管理するため、undoを使って変更履歴を遡ってから編集してしまうと、undo前の状態に戻れません。

Vimは変更履歴をツリー状に管理するため、変更履歴を上書きするような操作をしても、undo前の状態に戻すことができます。

undotreeはこのツリーを見やすく、使いやすくしてくれるプラグインです。

Install

Vim-plugの場合

 Plug 'mbbill/undotree'

Settings

あくまで一例ですが、私は以下のように設定して<leader>uでUndotreeToggleが起動するようにしています。

nnoremap <leader>u :UndotreeToggle<cr>

Usage

UndotreeToggleでundotreeが開きます。
J,KでTreeを移動、<,>で保存時の状態に移動できます。

?でキーバインドが確認できるので、忘れても安心です。

Reference

mbbill/undotree
The undo history visualizer for VIM. Contribute to mbbill/undotree development by creating an account on GitHub.

コメント

タイトルとURLをコピーしました