Vim 7.3의 새로운 기능 중 하나는 ‘지속적 실행 취소’로, 버퍼를 종료 할 때 실행 취소 트리를 파일에 저장할 수 있습니다.
안타깝게도 제대로 활성화하지 못했거나 잘못 사용하고있는 것 같습니다. 지금까지 시도한 내용은 다음과 같습니다.
~ / .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
그 후에는 모든 파일을 열고 편집 한 다음 저장-닫을 수 있어야하며 다시 열면 마치 내가 떠나지 않은 것처럼 실행 취소 / 다시 실행할 수 있어야합니다. 불행히도 언두 파일이 작성되지 않았기 때문에 이것은 사실이 아닌 것 같습니다.
노트:
-
크림이없는 Vim 프로젝트에서 Vim 7.3을 사용하여 Win 7을 사용하고 있습니다. 지속적인 실행 취소가 적용됩니다.
-
$ HOME / .vim / undo가 내 파일 시스템에 있습니다.
답변
존재하지 않는 경우 .vimrc
생성하고 undodir
영구 실행 취소를 활성화 하려면 이것을 넣으십시오 . Windows와 Linux 모두에서 테스트되었습니다.
" Put plugins and dictionaries in this dir (also on Windows)
let vimDir = '$HOME/.vim'
let &runtimepath.=','.vimDir
" Keep undo history across sessions by storing it in a file
if has('persistent_undo')
let myUndoDir = expand(vimDir . '/undodir')
" Create dirs
call system('mkdir ' . vimDir)
call system('mkdir ' . myUndoDir)
let &undodir = myUndoDir
set undofile
endif
답변
내 _gvimrc에서 이것을 시도했습니다.
" Persistent undo
try
set undodir=C:\vim\undodir
set undofile
catch
endtry
try-catch 브래킷을 삭제하면 광고 된대로 작동하기 시작했습니다.
" Persistent undo
set undodir=C:\vim\undodir
set undofile
디렉토리를 만들어야했습니다.
답변
$ HOME이 광고 된대로 작동하지 않는다고 생각합니다.
내 시스템에서 :echo $HOME
H를 보여줍니다 \하지만 : e $HOME/
말한다 : ~/
유효하지 않은 파일 이름을.
치료 여부를 확인하기 위해 절대 경로로 시도 할 수 있습니다.
답변
이제 예상대로 작동합니다 file.txt
. Windows 7에서 Vim 7.4 버퍼를 연 :setlocal undofile
다음 버퍼에 변경 사항을 저장하면 “undodir =”을보고 .file.txt.un~
하기 때문에 실행 취소 파일 이 함께 생성 :set undodir?
됩니다. 기본적으로-즉 수동으로 지정할 필요가 없습니다. 모델 :set undofile
라인 에서도 가능 합니다.