VimのUndo履歴をクリアする

Vimは過去のセッションのUndoまで覚えていてくれるので、うれしい半分、余計なお世話半分です。
Undo履歴を任意タイミングでクリアできるとうれしい…と思っていたのでちょっとググってみたら、こちらの情報を見つけたので、設定してみました。

下記を_vimrcに設定

"""""""""""""""""""""""""""""""""
"undo履歴クリア関数
""""""""""""""""""""""""""""""""
command -nargs=0 ClearUndo call <sid>ClearUndo()
function! s:ClearUndo()
  let old_undolevels = &undolevels
  set undolevels=-1
  exe "normal a \<BS>\<Esc>"
  let &undolevels = old_undolevels
  unlet old_undolevels
endfunction

ノーマルモードで :ClearUndo を実行すれば、Undo履歴が消去されるようになりました。

Posted in Vim

コメントを残す