ইমাকস শুরুতে থিমটি লোড করবে না


21

আমি মেলপা মাধ্যমে সোলারাইজড থিম প্যাকেজ ইনস্টল করেছি। আমি so কাস্টমাইজ-থিমের মাধ্যমে দুটি সোলারাইজড থিমের একটি বেছে নিতে পারি এবং এটি এটিকে সক্রিয় করে। আমি যখন থিম সেটিংস সংরক্ষণ করি তখন এটি আমার init.el ফাইলটিতে নিম্নলিখিতটি যুক্ত করে:

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(custom-enabled-themes (quote (solarized-dark)))
 '(custom-safe-themes
   (quote
    ("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" default))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

আমি যখন ইমাস চালু করি তখন এটি থিমটি লোড করে না তবে আমি ত্রুটি বার্তাটিও পাই না। আসলে eval-bufferinit.el ফাইলটিতে চলমান থিমটি লোড করে।


1
.emacsআপনার নিজের ডিরেক্টরি ডিরেক্টরিতে একটি ফাইল আছে? যদি তা হয় তবে init-el উপেক্ষা করা হবে।
মালবারবা

উত্তর:


21

আপনার init.el এ যুক্ত করুন

(load-theme 'solarized-dark t)

আপনি সেখানে যুক্ত স্টাফ ইম্যাকগুলি উপেক্ষা করতে পারেন, কেবল এটি মুছুন।


1
এটি সমস্যাটি প্রায়শই কাজ করতে পারে তবে এটি সমাধান করবে না। যদি তার কাস্টম কনফিগারগুলি লোড হচ্ছে না, এটি নীচে পৌঁছানোর মতো কিছু।
মালবারবা

21

আমি আমার init.elফাইলে নিম্নলিখিতগুলি যুক্ত করেছি (আমার কোনও .emacsফাইল নেই ~)।

(setq package-enable-at-startup nil) (package-initialize)

এবং তারপরে শেষে

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(custom-enabled-themes (quote (solarized-dark)))
 '(custom-safe-themes
   (quote
    ("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" default))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

কাজ করে মনে হচ্ছে। আমি ইমাসের সাথে খুব বেশি পরিচিত নই তাই এটি খারাপ কাজ কিনা তা আমার কোনও ধারণা নেই ...


এটি আসলে সঠিক সমাধান।
লুনারিওর

@ lunaryorn এটি সঠিক সমাধানটিকে কী করে? (আমার জন্য কাজ করেছেন))
উজ্জ্বল-তারকা

@ ট্রেভর অ্যালেক্সান্ডার প্যাকেজগুলি ব্যবহার করার আগে আপনাকে লোড করা দরকার।
লুনারিওর

17

ডিফল্টরূপে, ইমাস্যাকগুলি init ফাইলটি প্রক্রিয়া করার পরে প্যাকেজগুলি কেবল অটোলিড করে। সুতরাং যখন এটি থিম সেট করার চেষ্টা করা হচ্ছে তখন থিম প্যাকেজটি লোড হয়নি।

আপনার init ফাইলটিতে সমস্ত প্যাকেজ লোড করার পরিবর্তে (যেমনটি আপনি করছেন বলে মনে হচ্ছে) আপনি প্যাকেজগুলি স্বয়ংক্রিয়ভাবে লোড করার পরে একটি হুক যুক্ত করে লোড করতে পারেন after-init-hook, যেহেতু প্যাকেজগুলি init ফাইলের ঠিক পরে এবং তার আগে স্বয়ংক্রিয়ভাবে সজ্জিত হয় after-init-hook। মনে রাখবেন যে আপনি load-themeসরাসরি init ফাইলটিতে চেষ্টা করার পরে এটি কাজ করবে না কারণ প্যাকেজটি সেই সময়ে লোড করা হয়নি।

সুতরাং বিকল্পভাবে, আপনার init ফাইলটিতে এটি যুক্ত করুন:

(add-hook 'after-init-hook (lambda () (load-theme 'solarized-light)))

আমি মনে করি এটি সঠিক সমাধান এবং বিভিন্ন পরিস্থিতিতে কাজ করে (যেমন আমার জন্য আমি github.com/bbatsov/prelude ব্যবহার করছি এবং এটি সেখানেও মনোমুগ্ধকর মতো কাজ করে)
Amol Gawai

এটি সঠিক সমাধান এবং এটি গ্রহণযোগ্য উত্তর হওয়া উচিত
ডডজি

7

আমি মনে করি গুরুত্বপূর্ণ অংশটি হ'ল (প্যাকেজ-আরম্ভ)। আমি নিশ্চিত না যে আপনার প্যাকেজ-সক্ষম-এ-স্টার্টআপ বিটটি দরকার need তাই:

(package-initialize)
(load-theme 'ample t)

আপনি ইমাসকে আপনার সমস্ত থিমগুলিকে ডিফল্টরূপে বিশ্বাস করতে বলতে পারেন যাতে আপনার প্রতিবার অনুরোধ করা না হয়:

(setq custom-safe-themes t)

মনে রাখা জিনিসটি হ'ল প্রত্যেকটির ক্রমটি গুরুত্বপূর্ণ। আপনি যে থিমটি লোড করার চেষ্টা করছেন সেই ফাইলটিতে কোথায় রয়েছে তার উপর নির্ভর করে উপরের কয়েকটি পরামর্শ প্রয়োজন হতে পারে এবং নাও পারে।

আমি আমার .emacs ফাইলের একেবারে শুরুতে প্যাকেজগুলি এবং মেলপা রেপো সূচনা করি যা আমাকে আরও সহজেই ফাইলের পরে মেলপা লোড হওয়া প্যাকেজগুলি রেফারেন্স করতে দেয়। আমি কাস্টম-সেফ-থিমগুলিও সেট করেছিলাম যাতে কাস্টম ফাইলের শেষে বিশ্বাসের তথ্য যুক্ত করছে এই বিষয়টি নিয়ে আমাকে চিন্তিত হওয়ার দরকার নেই। আমার যা আছে তা এখানে:

(when (>= emacs-major-version 24)
  (require 'package)
  (package-initialize)
  (add-to-list 'package-archives
           '("melpa" . "http://melpa.milkbox.net/packages/") t)
  )
(setq custom-safe-themes t)

.. ফাইলটিতে লেটার ..

;; Load a nice theme if in GUI
(when (display-graphic-p)
  (load-theme 'ample t)
  )

-1

প্রথম লাইনটি কোথায় দেখতে হবে তা জানতে হবে:

(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")

তারপরে অন্যরা যেতে পারেন :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.