개요

  • persistent_undo 기능을 사용하면 파일별로 undo 히스토리가 남게 된다.
  • vim을 종료해도, 컴퓨터를 재부팅해도 undo 히스토리가 있기 때문에 계속해서 undo를 할 수 있다.

기능이 있는지 검사하기

  • persistent_undo 기능을 사용하려면 먼저 기능이 있는지 확인해봐야 한다.
$ vim --version | grep +persistent_undo

검색 결과가 나온다면 persistent_undo 기능을 사용할 수 있다.

설정하기

다음과 같이 설정하면 된다.

if has('persistent_undo')
    let s:vimDir = '$HOME/.vim'
    let &runtimepath.=','.s:vimDir
    let s:undoDir = expand(s:vimDir . '/undodir')

    call system('mkdir ' . s:vimDir)
    call system('mkdir ' . s:undoDir)

    let &undodir = s:undoDir
    set undofile
endif
  • vimDir, undodir은 자신이 선호하는 경로로 설정하자.