Etkilenen tüm arabelleğimin bu değişiklikleri alması için değişiklik yaptığımda .emacs dosyamı yeniden yüklemenin en hızlı yolu nedir?


27

C-x C-eHangisinin eval-last-sexpve hangisinin olduğunun farkındayım M-x eval-buffer, ancak bunlar tüm değişiklikleri almak için her zaman yeterli değildir. Bazen yapılandırmaları değiştirilmiş modlardaki arabellekleri gerçekten kapatmanız ve diğer zamanlarda emacs'ı tamamen yeniden başlatmanız gerekir. Bu sorunu ele almanın daha genel bir yolu var mı? Alternatif olarak, mevcut açık arabellekleri ve etkileşimli geçmişi kaybetmeden emacs'ı yeniden başlatmanın bir yolu var mı?


Gibi @ b4hand başlangıçta bu temelde öneri sorulardan birine dayalı bir sorudur belirtti: area51.stackexchange.com/proposals/76571/emacs/76588#76588
Tarsius

Yanıtlar:


16

Hayır, değiştirilmiş konfigürasyonu yeniden yüklemek mümkün değildir ve Emac'lerin yüklendiği sırada bu değişiklikler zaten yapılmış gibi davranır. Kısacası, Emacs paketleri bunun mümkün olması için çok fazla özgürlüğe sahip.

Bazı ana modların konfigürasyon değişikliklerini toplamadığından bahsettiniz. Bunun olası bir nedeni, modun etkinleştirilmesinin belirli seçeneklerin geçerli değerlerine göre bazı tampon yerel değişkenleri ayarlamasıdır. Bu tür bir modu, onu kullanan her arabellekte yeniden etkinleştirmeden, tüm değişiklikler alınmayacaktır. Ve o zaman bile, bazı şeylerin değişmeden kalması oldukça olası. Seçenekler bir custom-set-variablesform kullanılarak özelleştirildiğinde, bu çalışmanın olasılığı daha yüksektir , ancak bunun her seçenek için açıkça uygulanması gerekir. Şimdiye kadar sadece büyük modlar ve seçenekleri hakkında konuştuk ...

Her arabellek ana modunu yeniden etkinleştirmek için bir komut uygulamaya çalışabilirsiniz. Ancak tüm değişiklikleri tam olarak mümkün kılması ve daha da kötüsü, manuel olarak etkinleştirdiğiniz tüm küçük modları devre dışı bırakması ve diğer tüm durumları kaybetmesi olası değildir.

Bu nedenle eval-buffer, mümkün olduğunca fazla değişiklik yapması için init dosyanızın kullanılmamasını tavsiye ederim . Değiştirilen ayarları tek tek kullanarak değerlendirin ve eval-last-sexpişe yaramazsa, Emacs'ı yeniden başlatmanız gerekir.

Emacs kapalıyken durumun nasıl korunabileceği, ayrıca sorulması gereken farklı bir sorudur.


Burada yeniden başlatma sorusunu sordum: emacs.stackexchange.com/questions/639/…
b4hand

3

Bazen yapılandırmalarını değiştirmiş modlardaki arabellekleri gerçekten kapatmanız gerekir.

Arayan normal-modeo veya bunların ilişkili kanca değişiklik yaptıysanız yeniden tetiğe için kullanışlı bir yol, belirli bir tampon için tüm modları edilir.

Ayrıca geri alma geçmişini atmadan dosyayı yeniden yüklemeye benzeyen revert-buffer(hangi çağrıları normal-mode) kullanabilirsiniz .

(Ayrıca bir dosyayı yeniden yükleyebilirsiniz C-xC-v, ama bu olacak senin geri alma geçmişini atın.)

Büyük M-x ibufferharf yazarken V, tüm işaretli arabellekleri geri döndürür, büyük harf Eve Wişaretli tüm arabellekleri isteğe bağlı olarak değerlendirmenizi sağlar.

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.