Başlık sorunuzun cevabı gözlemlediklerinizdir. Vim kullanım kılavuzundan:help 21.3
Vim'i birkaç kez çalıştırdığınızda, son çıkan çıkış bilgilerini saklar. Bu, daha önce depolanan Vims'den çıkan bilgilerin kaybolmasına neden olabilir. Her madde sadece bir kez hatırlanabilir.
Ancak, viminfo dosyasının dosya adı (komut geçmişinin depolandığı yer, global işaretler ve bu şekilde yapılandırılmışsa kayıt içeriği gibi diğer şeyler arasında) değiştirilebilir! Bu, farklı projeler veya vim örnekleri için farklı 'tarihler' ayarlayabileceğiniz anlamına gelir. Proje başına birden fazla vim örneği çalıştırmadığınız varsayılarak, vimfo dosya adını vimrc (veya diğer proje ayarları eklentisi) aracılığıyla yönetmek bunu halletmenin harika bir yoludur.
Alternatif viminfo dosyalarını kur
Proje düzeyinde yönetim için vimfo'nuzu farklı bir dosyaya kaydetmek üzere vim'i yapılandırmak istiyoruz. Bu, bırakmadan önce çalışan bir vim içinde veya vimrc tarafından yapılabilir, örneğin vimrc'nizde belirli bir dizini bir projeye ait olarak algılayan çizgiler olabilir.
:set viminfo+=nPath/to/custom/viminfofile
Vimrc'nin bunu dizine göre otomatik olarak ayarlamasına bir örnek:
if getcwd() == "/projects/projA"
set viminfo+=n~/.viminfo-projA
endif
Yukarıdakilerin sonucu, vim / projects / projA dizininde başlatılırsa, projeye özgü geçmiş başlangıçta yüklenecek ve çıkışta kaydedilecektir.
Başlatma sırasında alternatif bir viminfo yükleyin
Bu, geçmişinizi bir tarafa kaydetmek ve daha sonra bir proje düzeyinde yönetmeden yüklemek istediğiniz durum için iyidir.
İlk olarak, geçmişi kaydetmek için, çıkmadan önce yukarıdaki gibi viminfo seçeneğine eklersiniz. Ardından geçmişi yüklemek için vi'yi -i seçeneğiyle başlatın
vim -i Path/to/custom/viminfofile
Viminfo dosyasını kaydetmek için vim'den çıkmak istemiyorsanız, :wv
( :wviminfo
) öğesini kullanabilirsiniz . Bu, yukarıdaki n ayarına göre vim'den çıkmadan viminfo dosyasını kaydeder. Ayrıca, :wv SomeOtherFile
viminfo seçeneğindeki ayarla aynı olmayan bir konuma kaydetmek için de yapabilirsiniz . Bu, çıkışta kullanılacak dosya adını ayarlamaktan daha uygun olabilir, ancak çıktıktan sonra vim'in varsayılan dosyayı kullanmasını durdurmaz.
Örneğin, ilk vim:
:wv ~/customInfo
ve ikinci terminalde:
vim -i ~/customInfo
Veya ikinci bir vim zaten çalışıyorsa ve viminfo'yu yüklemek istiyorsanız:
:rv ~/customInfo
Unutmayın :wv
ve :rv
vim dosyasının adını değiştirmeyin çıkışta veya başlangıç sırasında okunan dosyanın adını kaydedemezsiniz.
Ek bilgi
Açıklama set viminfo+=nSomePath
: adlı seçeneği ayarlamak için set komutunu kullanırız viminfo
. +=
Biz seçeneği değil, değişim her şey için eklemek istediğiniz belirtir. Biz eklemek n
viminfo için ismini belirtmek seçeneği. Viminfo'yu kaydetmek için kullanılan dosya adı hemen n
bize SomePath
ulaştıktan sonra.
wv
( :help wv
) Belgeleri , bu komutun önce viminfo dosyasını okuyacağını, ardından eski ve yeni bilgiler arasında birleştirileceğini gösterir. Şimdiye kadar bu durumda birleştirmenin nasıl çalıştığı hakkında hiçbir bilgim yok, ancak geçerli oturumda ayarlanmayan bilinmeyen dosyalar ve kayıtlar için işaretler tuttuğunu tahmin ediyorum.