Yüce metinden etkin çıkış özelliğini uygulayan herhangi bir vim eklentisi var mı


11

Sıcak çıkış, Sublime Text editörünün katil özelliklerinden biridir. Açık dosyalarda değişiklik yapmadan endişe etmeden editörün herhangi bir zamanda kapatılmasına izin verir - herhangi bir soru olmadan kapanır. ST'yi yeniden başlattığınızda, açılan ve düzenlenen tüm dosyalar kapatılmadan önceki ile aynı durumda olur

Acaba aynı şeyi vim'de yapmanın bir yolu var mı?


: xa all (tüm değişiklikleri kaydet ve Vim'i kapat)
Sim

Bu dosyaları yazar, ancak başka bir şey kaydetmez. Bence OP hem dosyaları yazmadan hem de herhangi bir açık sekme veya arabellek durumunu kaydeden bir şey istiyor
EvergreenTree

Evet, daha sonra yorumlarından anladım.
Sim

Yanıtlar:


6

Vim bunu yapabilir, ancak biraz tıknaz olabilir ve biraz kurulum yapabilir.

romainl sizi yarı yolda bırakırsession . Eksik bitler takas dosyaları :preserveve için &işarettir cpoptions.

Takas dosyaları Vim veya sisteminiz çökerse kurtarma amaçlıdır. Kaydedilmemiş değişiklikleri kurtarmanızı sağlar (bazı sınırlamalarla bkz. :he swap-file). Ancak Vim normal olarak çıktığında, arabellekte kaydedilmemiş değişiklikler olsa bile kullandığı takas dosyalarını siler.

İşte bu noktada :preserveve cpoptions'ler &gelir. :preserve(Seçenekleriniz bunu için ayarladığınız ne 4 saniye veya 200 karakter veya sonrasında standart aksine) kuvvetleri Vim hemen takas dosyalarına tüm tamponları yazmak için. Doing :set cpoptions+=&Vim söyler değil kaydedilir takas dosyaları silmek için :preservenormal çıkarken.

Ne yazık ki, Vim takas dosyalarını onlardan kurtarırken otomatik olarak temizlemez, böylece yakında aşağıdaki gibi bir dizin elde edebilirsiniz:

.foo.txt.swn
.foo.txt.swo
.foo.txt.swp
foo.txt

Eski olanları manuel olarak silebilirsiniz, ancak Vim yalnızca *.swpyeni takas dosyasını koyacağı bir dosya varsa otomatik olarak kurtarmayı önerir . :recoverKomut takas dosyaları kurtarmak için aramaya Vim zorlayacaktır.

Otomatik komutları kullanarak, korumayı (muhtemelen QuitPreolayla birlikte) ve kurtarmayı (muhtemelen BufReadveya ile BufReadPost) otomatikleştirebilirsiniz. Recover.vim , kurtarmayı yönetmek için daha kolay bir alternatif olarak çalışabilecek bir eklentidir. Ayrıca takas dosyalarının temizlenmesini de ele alıyor gibi görünüyor. Nasıl .swoama bir .swpdosya ile bir dizini işlemek emin değilim . Bu :recoverdurumda yine de kullanmanız gerekebilir .

vim-obsession , işlem oturumlarını daha kolay hale getirdiğini iddia eden başka bir eklentidir.


1

Evet. Buna "oturum" denir ve bununla ilgili her şeyi şurada okuyabilirsiniz:

:help session

1
Oturumların farkındayım. Ancak aynı değil gibi görünüyor - tüm açık arabellekleri ve sekmeleri (ve ayarları) kaydeder, ancak arabelleklerden birinde bazı değişiklikleriniz varsa, çıkmadan önce bunları diske yazmalısınız. Yüce metinde, açık dosyayı çıkışta kaydetmeniz gerekmez - sublime, tüm değişiklikleri ayrı bir yere kaydeder ve yeniden açıldığında geri yükler. Bu yüzden orijinal dosya diskte dokunulmaz, ancak değişiklikler de kaybolmaz
LazyS

Evet, temel fark bu olurdu. Herhangi bir şekilde tmux / screen / detach'a başvurmadan başarılabilir mi?
romainl
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.