回答:
Emacsカスタムテーマではなく、カラーテーマを使用していると確信していますか? 色のテーマはlibraryによって定義されますcolor-theme.el
。カスタムテーマは、 Emacsの24で利用可能な出発されている-と彼らはないカラーテーマと同じ。
カラーテーマを使用している場合、答えは簡単です[Reset]
。という名前の疑似カラーテーマを有効にするだけです。これはテーマを完全に元に戻します:それが課したすべての効果を削除します。
実際にEmacs カスタムテーマを使用している場合、答えはそれほど単純ではありません。カスタムテーマのアプリケーションを元に戻すことはできません。できることは、多くの場合に役立ちますが、有効にした後、別のカスタムテーマを有効にする前に、を使用して各カスタムテーマを無効にすることです。disable-theme
これを「半自動的に」行うには2つの方法があります。
アドバイスしてload-theme
、最初にすべてのカスタムテーマを無効にしてから、別のテーマをロード(有効化)します。これは、tungdao.comのTungdによるStackOverflowの回答で提案されました。
(defadvice load-theme (before theme-dont-propagate activate)
(mapcar #'disable-theme custom-enabled-themes))
テーマを有効にする前に、現在のテーマを無効にする関数を定義して使用します。これは、Maris Orbidansによって提案されました。
(defun enab-theme (theme)
(if current-t43m3 (disable-theme current-t43m3))
(setq current-t43m3 theme)
(load-theme theme t))
元のSOの投稿で詳細を確認し、同じSOページで質問とその他の回答を参照してください。(注意:そのページで受け入れられた回答は、カスタムテーマを取り消す問題に対する回答ではありません。)
#2で説明したソリューションでさえ一般的なソリューションではないことに注意してください。カスタムテーマのアプリケーションを元に戻すことはできません。それを行う方法はありません。つまり、カスタムテーマを無効にすると、復元されません任意の非テーマ のカスタマイズあなたがそのテーマを有効にする前に行われている可能性があり、それがそのテーマで上書きされたこと(例えば、顔の変化を)。
つまり、カラーテーマを元に戻すのは簡単です。カスタムテーマを元に戻すことはできません。カスタムテーマに対してできる最善の方法は、他のカスタムテーマと比較して無効にすることです。
この質問と、カラーテーマとカスタムテーマの両方を切り替える方法(サイクリングなど)の最良のリファレンスは、Emacs WikiページのColor and Custom Themesです。
また、この点に関しては、Emacsカスタムテーマに関するさまざまな場所に誤解を招く情報がかなりあります。Emacs 24の機能としてEmacsがカスタムテーマを追加したことに人々は当然興奮し、一部の人々はカスタムテーマがカラーテーマの代わりであるという誤った結論にすぐに飛びつきました。ではない。それぞれにいくつかの利点があります。元に戻すことができないことは、たとえば、カスタムテーマの大きな欠点です。
[ このGNU Emacsバグレポートは、カスタムテーマを取り消す(したがって以前のカスタマイズを復元する)ことができないことを改善するための機能強化リクエストです。
customize-themes
同時に複数のテーマを有効にするかどうかを(UIで)明示的に指定する必要があります。これらは、気が変わった場合に適用されるテーマを元に戻す方法かもしれないと推測しています。また、一部のLispでは、有効にする前に自動バックアップを保持できると推測しています。
color-theme-dark-laptop
場合、前のテーマに戻すには手動でスナップショットを作成する必要があることも追加できます。たとえば、元に戻す(fset 'color-theme-revert (color-theme-make-snapshot))
コマンドが表示さcolor-theme-revert
れます。そうしないと、[Resert]ボタンは機能しません。(私が正しいかどうかをテストするにはcolor-theme-select
、テーマを変更する前にコマンドを発行しないでください。これにより、不足しているスナップショットが作成されます)