51
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vimでファイルを開き直してもUndoができるように正しく設定する

Last updated at Posted at 2016-02-09

はじめに

ファイルをVimで開きなおすと、Undoが使えなくなります

Vimは編集履歴を保持して、Undoが使えるようになっています。しかし、ファイルを一度閉じると、履歴がクリアされてUndoができなくなります。

この履歴をファイルに記録する(set undodir)ことで、ファイルを閉じてもファイルを閉じる前の操作をUndoできるようになります。

環境

  • Vim version 7.4.335
  • Mac OS X El Captan 10.11.3

VimのUndoを永続化する(ファイルの変更を記録します)

vimrcを変更して、編集履歴をファイルに記録します。これにより、ファイルを閉じたあとでも、過去の編集履歴をUndoコマンドで遡れるようになります。

Vimの永続的Undoを有効にします。

.vimrcに以下を記述します。そしてディレクトリを作りますmkdir -p ~/.vim/undo)。

.vimrc
if has('persistent_undo')
  set undodir=~/.vim/undo
  set undofile                                                                                                                                   
endif

ディレクトリを用意しないといけません

:help undodirを読んでみるとわかりますが、エラーが起きた場合は処理を中断して何もしません。例えば、ディレクトリが存在しない場合には、エラーメッセージも出力せずに終了します。

おわりに

ファイルを開き直してもUndoが行えるようになりました

この設定のおかげで、ファイルを開き直してもUndoが行えるようになりました。いつまでも戻すことができると安心してファイルを編集できます!

参考文献

51
34
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?