Vim takas yedekleme/dosya geri alma/değiştirme
Yol Vim isimlerini değiştirmek için olası takas yedekleme dosyaları geri al/mı?
Yığılmayı önlemek için, hazır seçenekleri benim ~/.vimrc
dökümü bu dosyaları ~/.vim/tmp/{swap,backup,undo}
; ancak, ben rutin düzenlemek dosyaları farklı dizinlere ile aynı adı, sık sık sonunda birlikte bir sürü başka ayırt dosyaları ve Vim bazen sorun düzeliyor.
İdeal olarak, ben bir şey kullanmak için adlandırma şeması olan kalıcı undo (%path%to%file.undo
) Tüm bu yardımcı dosyaları; yok bariz şekilde ayarlanmış, ama yapılabilir Buf{Read,Write}
makrolar?
CEVAP
İşte ** 5 github benim parçası.
Bu undodir
(ve tahrik), setler backupdir
directory
(.swp
dosyaları için kullanılır) ayarlar. Eğer zaten yok diye dizinler oluşturur unutmayın.
" Save your backups to a less annoying place than the current directory.
" If you have .vim-backup in the current directory, it'll use that.
" Otherwise it saves it to ~/.vim/backup or . if all else fails.
if isdirectory($HOME . '/.vim/backup') == 0
:silent !mkdir -p ~/.vim/backup >/dev/null 2>&1
endif
set backupdir-=.
set backupdir =.
set backupdir-=~/
set backupdir^=~/.vim/backup/
set backupdir^=./.vim-backup/
set backup
" Save your swp files to a less annoying place than the current directory.
" If you have .vim-swap in the current directory, it'll use that.
" Otherwise it saves it to ~/.vim/swap, ~/tmp or .
if isdirectory($HOME . '/.vim/swap') == 0
:silent !mkdir -p ~/.vim/swap >/dev/null 2>&1
endif
set directory=./.vim-swap//
set directory =~/.vim/swap//
set directory =~/tmp//
set directory =.
" viminfo stores the the state of your previous editing session
set viminfo =n~/.vim/viminfo
if exists(" undofile")
" undofile - This allows you to use undos after exiting and restarting
" This, like swap and backups, uses .vim-undo first, then ~/.vim/undo
" :help undo-persistence
" This is only present in 7.3
if isdirectory($HOME . '/.vim/undo') == 0
:silent !mkdir -p ~/.vim/undo > /dev/null 2>&1
endif
set undodir=./.vim-undo//
set undodir =~/.vim/undo//
set undofile
endif
Umarım yeterince ne olduğunu anlamak için yorumladı. Değilse, bir yorum eklemek ve bunu düzelteceğim.
Ciao!
Güncelleme [07/16/2012]
Rob İnek ve bir e-posta cevap için herkes için istediğim backupdir
bölüm hakkında sorular sorup aldım:
- geçerli dizin kaldırma ve sonra yeniden ekleme gibi görünüyor. bu ne işe yarıyor?
^=
operatörü ne iş yapar?- nasıl klasörleri kullanımında öncelik sırasına göre, iş kontrol vim? (sanki denetler son klasörü ilk kişi eklenir?)
İlk şey farklı operatörleri tanımlamak için. Bu operatörler olmayan dize-liste seçenekleri için farklı bir anlamı var, o yüzden dikkatli ol!
-=
string listesinden değeri kaldırır..=
dize listesine değeri ekler.^=
dize listesine değeri başa.
backupdir
aşağıdaki işlemler uygulanmıştır:
- Listeden geçerli dizini Kaldır.
- Liste için geçerli dizin (bu son şey kontrol sağlar) ekleyin.
- Listeden ev dizini (oradan kurtardı olmayı sevmiyorum çıkarın.
~/.vim/backup/
önüne~/.vim-backup/
önüne
Ne zaman vim görünüyor için nereye kaydetmek yedekleri, denetleme, ilk, son; bu Yüzden olacak kontrol için ~/.vim-backup/
, daha sonra kontrol için ~/.vim/backup
, sonra kontrol varsayılan listesi (hariç için .
~/
kaldırıldı), sonra kontrol .
Kullanarak (örneğin) :help ^=
:help backupdir
vim tüm bunlar için yardım alabilirsiniz.
güncelleme-Endeksi --git farz-değişmed...
Bul ve Git repo silinmiş bir dosya ger...
Çalışma kopyası Gıt değişiklikler bir ...
Nasıl Gıt hazırlama alanından tek bir ...
Nasıl geri "git --değiştirme"...