Dosyalar diskte değiştiğinde Emacs'ın tüm arabellekleri otomatik olarak yenilemesi nasıl sağlanır?


176

Disk dosyalarımın emacs arabelleklerinden (en masse) daha güncel olmasına neden olan bir emacs olmayan genel arama ve değiştirme işlevi var. Emacs'a dosyayı yeniden yükleyerek her birini tek tek yapmak zorunda kalmadan, tüm arabellekleri tek bir swoop'ta yenilemelerini söylemenin bir yolu var mı?

Teşekkürler! D


global-auto-revert-mode sihir yaptı ...
Jorge Aguilar

Yanıtlar:


229

(global-auto-revert-mode t)senin içinde .emacs .


Her zaman senkronize kalmak istediğim durumlarda bu iyi görünüyor, teşekkür ederim! Sanırım çatışmaları kendim yönetebilmem için revbuffs kullanacağım (aksi takdirde bazen iş
Dave

2
Teşekkür ederim! Revbuffs ve otomatik geri alma modlarının bir kombinasyonunu kullanıyorum. Değişikliklerin üzerine yazmak istediğimde otomatik geri döndürme modu harika çalışıyor.
Natan Yellin

12
@Dave: (global-) otomatik geri-modu, ilgili arabellek değiştirilirse bir dosyayı geri döndürmez, bu nedenle kaydedilmemiş değişiklikleri kaybetme riskiniz olmamalıdır.
Lindydancer

Değişkeni .emacs olarak ayarladım, ancak bazı kod xcode'unu düzenlediğimde, o satırdaki (zaten açık) dosyayı okudum, xcode'da düzenleme yapmayın, Mx revert-buffer handly gerekir. (Mac + emacs 24.3.1)
ericfang

6
Git ile dalları değiştirirken güzel çalışıyor. Teşekkürler!
Justin Leitgeb

10

Emacs GUI (Windows 7'de Mine GNU Emacs 25.1.1'dir) kullanıyorsanız alternatifi aşağıdadır:

  1. Menü çubuğunda "Seçenekler" i tıklayın
  2. "Emacs'ı Özelleştir" i seçin
  3. "Kayıtlı Seçenekler" i seçin
  4. Ardından, "global-otomatik geri döndürme moduna" girdiğiniz bir arama alanı görmeli ve "Ara" düğmesine basmalısınız
  5. Click "Değiştir" düğmesi ve emin olun okur "açık" düğmesinin sağ
  6. Arama alanının hemen altındaki "Uygula ve Kaydet" düğmesine basın

Açılmış birkaç dosyanız varsa, bunun anında etkili olduğunu görmelisiniz. İyi şanslar!


3

@Ashwin'e işaret ettiği için teşekkürler (global-auto-revert-mode t). Emacs'ın dosyaları bu değişiklikle diskte değişen arabellekleri otomatik olarak güncellemeyeceğini buldum. Gönderen https://www.gnu.org/software/emacs/manual/html_node/emacs/Reverting.html :

Varsayılan olarak, Otomatik Geri Alma modu dosya bildirimleri kullanılarak çalışır ve dosya sistemindeki değişiklikler İşletim Sistemi tarafından Emacs'a bildirilir. Otomatik geri döndür-kullan-bildir değişkenini bir nil değerine özelleştirerek dosya bildirimlerinin kullanımını devre dışı bırakabilirsiniz, ardından Emacs her beş saniyede bir yoklayarak dosya değişikliklerini kontrol eder. Yoklama aralığını, değişken otomatik geri alma aralığından değiştirebilirsiniz.

Ayarladıktan sonra (auto-revert-use-notify nil), Emacs gerçekten her 5 saniyede bir tüm arabellekleri yeniledi.

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.