105

Vim 7.3 の新機能の 1 つは「永続的な取り消し」です。これにより、バッファーを終了するときに取り消しツリーをファイルに保存できます。

残念ながら、私はそれを適切に有効にすることができていないか、間違った使い方をしているに違いありません. これが私がこれまでに試したことです:

~/.vimrc に以下を追加しました

set undofile                " Save undos after file closes
set undodir=$HOME/.vim/undo " where to save undo histories
set undolevels=1000         " How many undos
set undoreload=10000        " number of lines to save for undo

この後、おそらく任意のファイルを開いて編集し、保存して閉じることができるはずです。もう一度開くと、元に戻したことがないかのように元に戻したりやり直したりできるはずです。残念ながら、元に戻すファイルが書き込まれたことがないため、これは当てはまらないようです。

ノート:

  1. Vim without cream プロジェクトの Vim 7.3 を使用して Win 7 を使用しています。永続的な取り消しが組み込まれています。

  2. ファイルシステムに $HOME/.vim/undo が存在する

4

5 に答える 5

8

私は_gvimrcでこれを試しました:

" Persistent undo
try 
    set undodir=C:\vim\undodir
    set undofile
catch
endtry

try-catch ブラケットを削除すると、宣伝どおりに機能し始めました。

" Persistent undo
set undodir=C:\vim\undodir
set undofile

ディレクトリを作成する必要がありました。

于 2012-03-17T17:51:46.390 に答える
3

$HOME は宣伝どおりに機能しないと思います。

私のシステムで:echo $HOMEは、H:\ と表示されますが、 : e $HOME/~/無効なファイル名」と表示されます。

絶対パスで試して、それが治るかどうかを確認できます

于 2011-04-18T10:22:46.913 に答える
1

これは期待どおりに機能するようになりました: file.txtWindows 7 の Vim 7.4 バッファーで開き:setlocal undofile、変更をバッファーに保存すると、"undodir=." と報告される.file.txt.un~ため、undofile が一緒に作成されます。:set undodir?デフォルトで - つまり、これを手動で指定する必要はありません。モードラインでもできます:set undofile

于 2014-12-12T09:29:26.427 に答える