Takas dosyalarının amacı nedir?


73

Dosyaları düzenlediğimde Vim , sinir bozucu bulduğum dosyalar oluşturmaya meyilli . İtibaren , seçeneğin takas dosyalarının oluşturulmasını bastırdığını görüyorum ..filename.swpvim -h-n

Varsayılan olarak takas dosyalarını devre dışı bırakmak için kullanabileceğim bir vimrc yönergesi var mı?

Takas dosyalarının amacı nedir ve onları bastırarak hangi işlevselliği kaçırırdım?


FWIW, takas dosyaları da can sıkıcı buluyorum ve bir süre noswapfileaşağıda önerildiği gibi kullanmayı denedim . Sonunda vazgeçtim ve kapattım, ancak, görünüşte faydaları sıkıntılardan ağır basıyor çünkü - buuuuuut Takas dosyası kullanımını geri yüklemem için beni ikna eden şeyin ne olduğunu hatırlamıyorum. Muhtemelen bilgisayarım çöktü ve değiştirdiğim bazı dosyaları geri yükleyemedim; bu, takas dosyaları açıkken önemsizdi.
Kyle Strand,

Yanıtlar:


89

Takas dosyalarının sebepleri

Dosyaları değiştir, arabellekte yaptığınız değişiklikleri saklar. Vim veya bilgisayarınız çökerse, bu değişiklikleri kurtarmanıza izin verir.

Dosyaları değiştirmek ayrıca birden fazla Vim örneğinin aynı dosyayı düzenlemesini önlemenin bir yolunu sağlar. Bu, çok kullanıcılı sistemlerde veya sadece bir dosyayı düzenleyen başka bir Vim'in olup olmadığını bilmek için faydalı olabilir.

Takas dosyalarını devre dışı bırakma

Eğer (Ben tavsiye etmem) tamamen takas dosyaları oluşturmak devre dışı bırakmak istiyorsanız, o zaman ekleyebilir set noswapfileadresinden Müşteri .vimrc. Bu, seçeneğin global değerini ayarlar. Daha sonra Vim'i kullanırken belirli tamponlar için bunu geçersiz kılabilirsiniz :setlocal swapfile.

Takas dosyalarının düzenlenmesi

Sorununuz dosya sisteminizin etrafına yayılan fazladan dosyalar hakkındaysa, tüm takas dosyalarını bir yerde toplayabilirsiniz. Örneğin, bir ~/.vim/tmpdizin oluşturun ve ardından

set directory^=$HOME/.vim/tmp//

senin için .vimrc. Bu 'directory'seçenek, Vim'in takas dosyasını denemek ve saklamak için kullanacağı dizinlerin bir listesini içerir.

İçin ^=sözdizimi :set, dizin adını listenin başına getirir, böylece Vim önce bu dizini kontrol eder.

//Dizin adının sonuna farklı dizinlere aynı adı taşıyan dosyaları arasında çarpışmalar bulunmamaktadır yüzden takas dosyası oluşturmak için dosyanın mutlak yolunu kullanmak Vim söyler.

Bunun, Vim'in aynı dosyayı düzenlemeye çalışan birden fazla kullanıcı olduğunu fark etmesini önleyeceğini unutmayın. Takas dosyası orijinal dosya ile aynı dizinde olmadığı için, diğer kullanıcının Vim takas dosyası hakkında bir şey bilmeyecek ve onları zaten düzenlenmiş olduğu konusunda uyarmayacaktır.


4
Takas dosyalarının kalıcı olarak geri alınmasının faydası, şimdi bir süredir merak uyandırdığı için?
alpha_989

Kullandığım vim-auto-save. Bu, takas dosyalarına duyulan ihtiyacı ortadan kaldırmaz mı?
Kevin,

@Kevin Bu değişir. Eklenti, Vim'in takas dosyasını yazacağı her senaryoda bir tasarruf sağlıyorsa, o zaman muhtemelen. Aksi halde, tamponun kaydedilmediği ve bir takas dosyasının size yardımcı olabileceği dönemler olacaktır.
jamessan

@ alpha_989 Tamamlayıcılar. Bir takas dosyası kaydedilmemiş değişiklikleri kurtarmanıza izin verir. Kalıcı geri alma dosyası, Vim oturumları arasında geri alma geçmişini geçmenizi sağlar, ancak dosya yalnızca kaydettiğinizde yazılır.
jamessan

Herhangi bir yöntem vim sadece bir örnek için takas yok? mesela vim temp.txt --some-command-that-disable-swap? Kullanım durumum, bazı izleyicilerin dizindeki herhangi bir değişikliği izlemeye devam edeceği, bu nedenle yalnızca o zamana kadar çarpışmayı önlemek için takas özelliğini devre dışı bırakmak istiyorum.
Ng Sek Long
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.