カラーテーマをリセットするには?


25

別の色のテーマを試してみると、特定の要素が新しいテーマで定義されていない場合、古いテーマの値が保持されているように見えます。これはemacs 24および以前のバージョンでを使用して発生しcolor-themeます。中間のすべての色をデフォルトにリセットして、各カラーテーマが意図したとおりに見えるようにする方法はありますか?

回答:


22

Emacsカスタムテーマではなく、カラーテーマを使用していると確信していますか? 色のテーマはlibraryによって定義されますcolor-theme.elカスタムテーマは、 Emacsの24で利用可能な出発されている-と彼らはないカラーテーマと同じ。

  1. カラーテーマを使用している場合、答えは簡単です[Reset]。という名前の疑似カラーテーマを有効にするだけです。これはテーマを完全に元に戻します:それが課したすべての効果を削除します。

  2. 実際にEmacs カスタムテーマを使用している場合、答えはそれほど単純ではありません。カスタムテーマのアプリケーションを元に戻すことはできません。できることは、多くの場合に役立ちますが、有効にした後、別のカスタムテーマを有効にする前に、を使用して各カスタムテーマを無効にすることです。disable-theme

    これを「半自動的に」行うには2つの方法があります。

    元のSOの投稿で詳細を確認し、同じSOページで質問とその他の回答を参照してください。(注意:そのページで受け入れられた回答は、カスタムテーマを取り消す問題に対する回答ではありません。)

  3. #2で説明したソリューションでさえ一般的なソリューションではないことに注意してください。カスタムテーマのアプリケーションを元に戻すことはできません。それを行う方法はありません。つまり、カスタムテーマを無効にすると、復元されません任意の非テーマ のカスタマイズあなたがそのテーマを有効にする前に行われている可能性があり、それがそのテーマで上書きされたこと(例えば、顔の変化を)。

つまり、カラーテーマを元に戻すのは簡単です。カスタムテーマを元に戻すことはできません。カスタムテーマに対してできる最善の方法は、他のカスタムテーマと比較して無効にすることです。

この質問と、カラーテーマとカスタムテーマの両方を切り替える方法(サイクリングなど)の最良のリファレンスは、Emacs WikiページのColor and Custom Themesです。

また、この点に関しては、Emacsカスタムテーマに関するさまざまな場所に誤解を招く情報がかなりあります。Emacs 24の機能としてEmacsがカスタムテーマを追加したことに人々は当然興奮し、一部の人々はカスタムテーマがカラーテーマの代わりであるという誤った結論にすぐに飛びつきました。ではない。それぞれにいくつかの利点があります。元に戻すことができないことは、たとえば、カスタムテーマの大きな欠点です。

[ このGNU Emacsバグレポートは、カスタムテーマを取り消す(したがって以前のカスタマイズを復元する)ことができないことを改善するための機能強化リクエストです。


1
また、次のようなコマンドを使用してカラーテーマを選択したcolor-theme-dark-laptop場合、前のテーマに戻すには手動でスナップショットを作成する必要があることも追加できます。たとえば、元に戻す(fset 'color-theme-revert (color-theme-make-snapshot))コマンドが表示さcolor-theme-revertれます。そうしないと、[Resert]ボタンは機能しません。(私が正しいかどうかをテストするにはcolor-theme-select、テーマを変更する前にコマンドを発行しないでください。これにより、不足しているスナップショットが作成されます)
-user4514

ヘルムテーマは、新しいテーマを選択すると、他のテーマを自動的に無効にします。
オコド

1
@EmacsFodder:カスタムテーマについて話している場合、他のテーマを無効にするだけでは十分ではありません。カスタムテーマを有効にする前に存在していた初期状態に必ずしも戻ることはできません。この問題はカラーテーマには存在しません-初期状態のスナップショットを取得して、それに戻ることができます。引用されたEmacsWikiページと引用されたバグレポートを参照してください。ここに魔法の銀の弾丸はありません、ヘルムまたはそうでなければ。これは、カスタムテーマが設計された方法(欠陥)のためです。
ドリュー

@JSG:はい。初期状態に戻すには、カラーテーマを有効にする前に、スナップショットを作成する必要があります(これは擬似カラーテーマに相当します)。これは、引用されたEmacsWikiページと引用されたEmacsバグレポートで説明されています。そう、あなたは先を考える必要があるかもしれませんが、少なくともその状態に戻ることは可能です。この機能はカスタムテーマにはありません-カスタムテーマを無効にしても、初期状態に戻りません。
ドリュー

Emasでこれまで触れたことがないので、これは彼らの違いについての貴重な情報でした。2016年7月のEmacs 25.2.1の追加および更新された情報のために、独自の設定をテーマとして保存できるようになりました。また、customize-themes同時に複数のテーマを有効にするかどうかを(UIで)明示的に指定する必要があります。これらは、気が変わった場合に適用されるテーマを元に戻す方法かもしれないと推測しています。また、一部のLispでは、有効にする前に自動バックアップを保持できると推測しています。
チャールズロベルトカナト

-2

から組み込みテーマのいずれかを選択した場合はM-x customize-themes、でカスタムテーマを有効にする行をコメントアウトするだけ~/.emacsです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.