Renk teması nasıl sıfırlanır?


25

Farklı renk temaları denemeye başladığımda, yeni temada belirli bir unsur tanımlanmadıysa, eski tema değeri korunuyor ve bu da bir miktar çatışmaya yol açıyor gibi görünüyor. Bu emacs 24 ve önceki sürümleri kullanarak olur color-theme. Her renk temasının amaçlandığı gibi görünmesi için arasındaki tüm renkleri varsayılana sıfırlamanın bir yolu var mı?

Yanıtlar:


22

Emacs özel temalarını değil, renk temalarını kullandığınızdan emin misiniz? Renk temaları kütüphane tarafından tanımlanır color-theme.el. Özel temalar Emacs 24'ten başlayarak kullanılabilir - ve renk temalarıyla aynı değildir .

  1. Renk temaları kullanıyorsanız , cevap basit: sadece sözde renk temasını etkinleştirin [Reset]. Bu tamamen temayı geri alır: dayattığı tüm efektleri kaldırır.

  2. Aslında Emacs özel temalarını kullanıyorsanız , cevap o kadar basit değildir. Sen olamaz Özel bir tema uygulanmasını geri. Çok yardımcı olacak yapabileceğiniz şey, etkinleştirildikten sonra ve başka bir özel temayı etkinleştirmeden önce , her bir özel temayı devre dışı bırakmaktır .disable-theme

    Bu "yarı otomatik" yapmanın iki yolu:

    Daha fazla bilgi için bu orijinal SO yayınlarına bakın ve aynı SO sayfasında soru ve diğer cevapları görün. (Uyarı: Bu sayfadaki kabul edilen cevap, özel bir temayı geri alma sorununa bir cevap değildir .)

  3. # 2'de açıklanan çözümlerin bile genel çözümler olmadığını unutmayın : özel bir temanın uygulanmasını geri almazlar - bunu yapmanın bir yolu yoktur . Olduğunu, özel bir tema devre dışı bırakılması geri yüklemez herhangi olmayan tema özelleştirmeleri bu temayı etkinleştirmeden önce yapmış olabileceğini ve o temaya tarafından geçersiz olduğunu (örneğin, yüz değişiklikleri).

Başka bir deyişle, renk temasını geri almak önemsizdir; özel bir temayı geri almak imkansızdır. Özel bir tema için yapabileceğiniz en iyi şey, diğer özel temalara göre devre dışı bırakmaktır.

Bu soru için ve hem renk hem de özel temalar arasında geçiş yapma (örneğin bisiklete binme) yöntemleri için en iyi referans Emacs Wiki sayfası Renkli ve Özel Temalardır .

Ve önceden uyarılmalıdır: Bu konuda Emacs'ın özel temaları hakkında çeşitli yerlerde oldukça fazla yanıltıcı bilgi vardır. İnsanlar Emacs'ın Emacs 24'te bir özellik olarak özel temalar eklediği ve bazıları da özel temaların renk temalarının yerine geçtiği sonucuna atladığı için çok heyecanlıydılar . Onlar değil. Her birinin bazı avantajları vardır. Örneğin, geri almamak, özel temaların büyük bir dezavantajıdır.

[ Bu GNU Emacs hata raporu , özel bir temayı geri alamamayı gidermek için bir geliştirme isteğidir (ve böylece daha önceki özelleştirmeleri geri yükleme).]


1
Ayrıca, bir komutu kullanarak bir renk teması seçtiyseniz, o color-theme-dark-laptopzaman önceki temaya geri dönmek istiyorsanız el ile anlık görüntü yapmanız gerekebileceğini de ekleyebilirsiniz . Örneğin (fset 'color-theme-revert (color-theme-make-snapshot)), size color-theme-revertgeri dönme komutunu verecek [Resert] düğmesi aksi halde çalışmaz. (Haklı olup olmadığımı test etmek için color-theme-select, temayı değiştirmeden önce komutu vermeyin , çünkü bu sizin için eksik olan anlık görüntüyü gösterir)
user4514

Lütfen dikkat: Dümen temalarının, yenisini seçerken diğer temaları otomatik olarak devre dışı bırakacağını unutmayın.
ocodo

1
@EmacsFodder: Özel temalar hakkında konuşuyorsanız , diğer temaları devre dışı bırakmak yeterli değildir . Herhangi bir özel temayı etkinleştirmeden önce mevcut olan başlangıç ​​durumuna geri dönemezsiniz. Bu sorun, renk temaları için mevcut değildir - başlangıçtaki durumun anlık görüntüsünü alabilir ve geri dönebilirsiniz. Alıntı yapılan EmacsWiki sayfasına ve belirtilen hata raporuna bakın. Burada sihirli gümüş mermi yok, Helm veya başka bir şey yok. Özel temaların tasarlanma şeklinden (bir kusur) kaynaklanmaktadır.
Drew

@JSG: Evet, başlangıç ​​durumuna dönebilmek için, herhangi bir renk temasını etkinleştirmeden önce, bunun bir anlık görüntüsünü oluşturmalısınız (sözde renk temasına karşılık gelir). Bu, belirtilen EmacsWiki sayfasında ve belirtilen Emacs hata raporunda açıklanmıştır. Yani evet, ileriyi düşünmeniz gerekebilir, ama en azından bu duruma geri dönmek mümkündür. Özel temalar için bu özellik eksik - özel temaların devre dışı bırakılması sizi ilk durumuna geri getirmiyor.
Drew

Bu konu benim için farklılıkları hakkında değerli bilgilerdi, çünkü Emas'ta daha önce konuya hiç dokunmadım, teşekkürler! Sadece ek ve güncellenmiş bilgi uğruna, Temmuz 2016 itibariyle Emacs 25.2.1'de olduğu gibi, şimdi kendi ayarlarınızı da tema olarak kaydedebilirsiniz - ya da en azından buradaki Emac'lar bunu yapmama izin veriyor. Ayrıca, customize-themesaynı anda birden fazla temayı etkinleştirmek istersem açıkça belirtmeliyim ( kullanıcı arayüzünde). Bunların fikrimi değiştirmem durumunda uygulanan bir temayı geri alma yolları olabileceğini tahmin ediyorum. Ayrıca, bazı Lisp'lerde, herhangi bir etkinliğe başlamadan önce otomatik bir yedekleme yapabileceğini de tahmin ediyorum.
Charles Roberto Canato

-2

Yerleşik temalardan birini seçtiyseniz M-x customize-themes, telefonunuzdaki özel temayı etkinleştiren satırları yorumlamanız yeterlidir ~/.emacs.

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.