Doom Emacs হল একটি ডিস্ট্রিবিউশন যার লক্ষ্য Emacs এর সাথে শুরু করার জন্য একটি সহজ এবং অ্যাক্সেসযোগ্য উপায় তৈরি করা। ডকুমেন্টেশন এর বিভিন্ন ফাংশন বিস্তারিত শত শত পৃষ্ঠার কারণে. Emacs, নিজেই, ভয়ঙ্কর হতে পারে।
এটি ইতিমধ্যে পরিচিত ব্যবহারকারী এবং বইয়ের পোকার জন্য সহায়ক। যাইহোক, এই হ্যান্ডস-অফ পদ্ধতি এমন কাউকে সাহায্য করে না যে এটি চেষ্টা করে দেখতে আগ্রহী।
Doom Emacs এর লক্ষ্য হল চর্বি কমানো এবং Emacs এর অভিজ্ঞতাকে এর মূল শক্তি দিয়ে পাতন করা। এটি ব্যবহারকারীকে শুধুমাত্র মৌলিক জিনিসগুলি করার জন্য ক্রমাগত একটি ম্যানুয়াল পরীক্ষা করার প্রয়োজন ছাড়াই এক্সটেনসিবিলিটি ব্যবহার করার অনুমতি দেয়। এর ফলে Emacs-এর একটি সংস্করণ পাওয়া যায় যা ব্যবহারকারীর প্রয়োজন অনুসারে সহজেই পরিবর্তন ও পরিমার্জন করা যায়।
Doom Emacs ইনস্টল করা তুলনামূলকভাবে সহজ। আমাদের আগে তিনটি জিনিস দরকার:
- একটি ভ্যানিলা Emacs 27.1 ইনস্টলেশন
- ripgrep
- গিট
Emacs এবং ripgrep ইনস্টল করা হচ্ছে
Emacs এবং ripgrep প্রধান লিনাক্স বিতরণের প্রায় প্রতিটি সংগ্রহস্থলে উপলব্ধ। উদাহরণস্বরূপ, ডেবিয়ান এবং উবুন্টু 21.10 এ Emacs এবং ripgrep ইনস্টল করতে আপনি apt
ব্যবহার করতে পারেন :
sudo apt install emacs-gtk ripgrep
আর্চ লিনাক্সের জন্য, pacman
ব্যবহার করুন :
sudo pacman -Syu emacs ripgrep
ফেডোরাতে, dnf
ব্যবহার করুন :
sudo dnf install emacs ripgrep
Void Linux-এর জন্য, xbps
ব্যবহার করুন :
sudo xbps-install emacs-gtk2 ripgrep
আমার ক্ষেত্রে, আমি আমার Void Linux সিস্টেমে Emacs এবং ripgrep ইনস্টল করছি।
এটা মনে রাখা গুরুত্বপূর্ণ যে Emacs বিভিন্ন স্বাদে আসে। বেশিরভাগ ক্ষেত্রে, প্যাকেজ ম্যানেজার ইম্যাক্সের উপযুক্ত সংস্করণটি ইনস্টল করার জন্য বেছে নেয়, কিন্তু এই প্রক্রিয়াটি ব্যর্থ হলে বিরল দৃষ্টান্ত রয়েছে৷
অতএব, আমরা যে সংস্করণটি ইনস্টল করি সে সম্পর্কে আমাদের সচেতন হওয়া উচিত। আমরা Emacs-এর একটি সংস্করণ ইন্সটল করতে চাই যা গ্রাফিকাল পরিবেশে চলতে পারে, আমাদের সাথে থাকছে:
- X11
- GTK-2
- GTK-3
এর পরে, আমরা গিট ইনস্টল করার সাথে এগিয়ে যেতে পারি।
গিট ইনস্টল করা হচ্ছে
Doom Emacs ইনস্টল করার জন্য, আমাদের ইন্টারনেট থেকে একটি দূরবর্তী কোড সংগ্রহস্থল পেতে হবে। এটি করতে, গিট ইনস্টল করুন। এটি আমাদেরকে তাৎক্ষণিকভাবে কোড কপি করতে এবং আরও গুরুত্বপূর্ণভাবে, প্রধান সংস্করণগুলির মধ্যে আপডেট করার অনুমতি দেয়৷
৷
Emacs এর মতই, Git প্রতিটি লিনাক্স ডিস্ট্রিবিউশনে সাধারণ। ডেবিয়ান এবং উবুন্টুতে এটি ইনস্টল করতে, apt
ব্যবহার করুন :
sudo apt install git
আর্চ লিনাক্সের জন্য, pacman
ব্যবহার করুন :
sudo pacman -Syu git
ফেডোরার জন্য, dnf
ব্যবহার করুন :
sudo dnf install git
Void Linux-এ xbps
ব্যবহার করুন :
sudo xbps-install git
আমার ক্ষেত্রে, আমি ভয়েড লিনাক্সে গিট ইনস্টল করছি।
ডুম ইমাক্স ইনস্টল করা হচ্ছে
Doom Emacs ইনস্টল করতে, আমাদের শুধুমাত্র কয়েকটি কমান্ড চালাতে হবে:
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
এটি একটি গিট কমান্ড যা আমাদের মেশিনের জন্য Doom Emacs সংগ্রহস্থল নিয়ে আসে।
-
clone
ফাংশন মানে যখন আমরা কমান্ড চালাই তখন আমরা সর্বশেষ সংগ্রহস্থল কপি করছি। -
depth
তারপর বিকল্পটি সংগ্রহস্থলের ইতিহাসকে সংগ্রহস্থলের দুটি সাম্প্রতিক সংস্করণে ছেঁটে দেয়৷
এই কমান্ডে, আমরা ডিফল্ট Emacs কনফিগারেশন ডিরেক্টরিতে সংগ্রহস্থল সংরক্ষণ করছি। সেই কারণে, এই কমান্ডটি টাইপ করে আমাদের নিশ্চিত করতে হবে যে ডিরেক্টরিটি বিদ্যমান নেই:
rm -rf /home/$USER/.emacs.d/
এর পরে, আমাদের ইনস্টলেশন শুরু করতে হবে। আমরা নিম্নলিখিত কমান্ডটি টাইপ করে এটি করি:
/home/$USER/.emacs.d/bin/doom install
এই কমান্ডটি Emacs ইনস্টলেশনের উপরে Doom Emacs ইনস্টল করে।
ইনস্টলেশন-পরবর্তী কনফিগারেশন
এর পরে, আমাদের ইনস্টলেশনে কোনো সমস্যা হবে না তা নিশ্চিত করতে আমাদের আরও কিছু জিনিস করতে হবে।
প্রথমে, “/home/$USER/.emacs.d/doom/bin/” ডিরেক্টরি সনাক্ত করতে PATH ভেরিয়েবল সেট আপ করুন। "/home/$USER/.profile" ফাইলে নিম্নলিখিত লাইন যোগ করে এটি করুন:
export PATH=$PATH:$HOME/.emacs.d/doom/binরপ্তানি করুন
এটি ডুমের জন্য বিন ডিরেক্টরি অন্তর্ভুক্ত করতে PATH ভেরিয়েবল আপডেট করবে। এর পরে, আমাদের শুধুমাত্র এনভায়রনমেন্ট ভেরিয়েবল রিলোড করতে আবার লগ ইন করতে হবে।
PATH ভেরিয়েবল "/home/$USER/.emacs.d/doom/bin" ডিরেক্টরি সনাক্ত করে কিনা তা পরীক্ষা করতে, আমাদের কমান্ডটি চালাতে হবে:
doom doctor
এটি নিশ্চিত করে যে ইনস্টলেশনটি সঠিকভাবে সম্পন্ন হয়েছে। প্রক্রিয়া চলাকালীন কোন সমস্যা হলে, ডুম ডাক্তার ফাংশন আমাদের জানাবে।
ডুম ইউটিলিটি:ডুম ইমাক্সে আপনার সঙ্গী
ডুম ডাক্তার ডুম ইউটিলিটির উপলব্ধ ফাংশনগুলির মধ্যে একটি মাত্র। এটি হল প্রধান প্রোগ্রাম যা আমাদের Doom Emacs সংশোধন, আপডেট এবং মেরামত করতে দেয়।
যেমন, সচেতন হওয়া সবচেয়ে সাধারণ ফাংশন হল:
doom doctor
আমাদের প্রাথমিক ইনস্টলেশনের সাথে কোনো অসঙ্গতি পরীক্ষা করবে। ডুম ইম্যাক্স ব্যবহার করার সময় আমরা সমস্যায় পড়লে এটি বিশেষভাবে কার্যকর। এটি সম্ভাব্য ত্রুটির জন্য ডুম-সম্পর্কিত সমস্ত ডিরেক্টরি এবং কনফিগারেশন পরীক্ষা করবে৷doom upgrade
আমাদের যন্ত্রণাহীনভাবে আমাদের ইনস্টলেশন আপগ্রেড করার অনুমতি দেয়। এটি রিপোজিটরির যেকোনো আপডেটের জন্য পরীক্ষা করবে এবং আমাদের কপিটি সর্বশেষ একটির সাথে সিঙ্ক্রোনাইজ করবে এবং সংস্করণগুলির মধ্যে স্থানান্তর পরিচালনা করবে। এটি করার জন্য, ডুম আপগ্রেড আমাদের বর্তমান ডুম কনফিগারেশনগুলিকে পরিষ্কার করে এবং আপগ্রেডের পর্যায়ে দেয়৷doom purge
আমাদের ইনস্টলেশনে ইনস্টল করা পুরানো প্যাকেজ এবং মডিউলগুলির সাথে কাজ করে। যেমন, আমরা যদি একগুচ্ছ প্যাকেজ মুছে ফেলে থাকি, তাহলে এটি সমস্ত অব্যবহৃত নির্ভরতা মুছে ফেলবে। এটি -g পতাকা দিয়ে এটিকে চালিয়ে বিদ্যমান সংগ্রহস্থলগুলিকে সংকুচিত করার ক্ষমতাও রাখে৷doom sync
আমাদের কাস্টম কনফিগারেশন ঠিক করার অনুমতি দেয়। যখন আমরা Doom Emacs ইনস্টল করি, তখন এটি "/home/$USER/.doom.d/" এর অধীনে ব্যক্তিগত কনফিগারেশনের জন্য একটি পৃথক ফাইল তৈরি করে। সিঙ্ক ফাংশনটি চালানোর ফলে .doom.d ডিরেক্টরিতে .emacs.d-এ তৈরি করা কনফিগারেশনগুলি সক্ষম হবে৷
ডুম ইমাক্স কনফিগার করা হচ্ছে
.doom.d ডিরেক্টরি হল যেখানে সমস্ত Doom কনফিগারেশন থাকে। এটি তিনটি ফাইল নিয়ে গঠিত:
- packages.el ফাইলটি বলে যে কোন প্যাকেজগুলি এবং কোথা থেকে ইনস্টল করতে হবে৷ ৷
- config.el ফাইলটি যেখানে আমরা আমাদের কাস্টম কনফিগারেশনগুলি অন্তর্ভুক্ত করি। এতে ডুম এবং ইনস্টল করা অতিরিক্ত প্যাকেজ উভয়ের কনফিগারেশন অন্তর্ভুক্ত রয়েছে।
- init.el ফাইলটি Doom Emacs-এর মাংস এবং আলু। এখানেই ডিস্ট্রিবিউশনের সমস্ত বৈশিষ্ট্য সক্রিয় বা নিষ্ক্রিয় করা যেতে পারে৷ ৷
ডুম মডিউল
Doom Emacs আপনাকে 150টিরও বেশি মডিউল পছন্দ করতে দেয়। তারপরে, আমরা যেগুলি চাই তা বাছাই করে সেই মডিউলগুলিকে সক্ষম করতে পারি। এটি আমাদের ডুমকে আমাদের নিজস্ব কম্পিউটিং পরিবেশ হিসাবে কাস্টমাইজ করতে দেয়৷
Doom Emacs থেকে মডিউল যোগ করা এবং অপসারণ করা শুধুমাত্র doom!
পরিবর্তন করার একটি বিষয়। ".doom.d/init.el" ফাইলে ফাংশন। সাধারণ সিনট্যাক্স এইরকম কিছু দেখায়:
(doom! :checkers (syntax) :editor (evil) :lang (org +journal))
একটি মডিউল সক্ষম করতে, আমাদের বিভাগটিকে লেবেল করতে হবে। এই উদাহরণে, সিনট্যাক্স মডিউল যোগ করতে, আমাদের প্রথমে চেকার বিভাগ যোগ করতে হবে।
আরও, এই মডিউলগুলিতে পতাকাও রয়েছে যা একটি নির্দিষ্ট মডিউলের জন্য সক্রিয় করা যেতে পারে। এটি Gentoo-এর USE পতাকাগুলির অনুরূপ যা আপনাকে শুধুমাত্র আপনার পছন্দসই বৈশিষ্ট্যগুলিকে সক্ষম করে একটি প্রোগ্রামকে সূক্ষ্ম-টিউন করতে দেয়৷
একটি মডিউলের জন্য একটি পতাকা যোগ করতে, পতাকার নাম অনুসরণ করে একটি "+" চিহ্ন যোগ করুন। এই উদাহরণে, আমরা জার্নাল সমর্থন সক্ষম করতে org-এ জার্নাল ফ্ল্যাগ যুক্ত করেছি।
একবার হয়ে গেলে, doom sync
চালান সেটিংস সহ Doom Emacs পুনরায় আরম্ভ করতে।
কীভাবে অতিরিক্ত প্যাকেজ ইনস্টল করবেন
ডিফল্টরূপে, Doom Emacs ইতিমধ্যেই ইনস্টলেশনে একাধিক প্যাকেজ নিয়ে আসে। তা সত্ত্বেও, আমরা খুব সহজেই সংগ্রহস্থল থেকে অতিরিক্ত সফ্টওয়্যার ইনস্টল করতে পারি। আমরা package!
ব্যবহার করে তা করতে পারি ".doom.d/packages.el" ফাইলে ফাংশন।
ডুমে একটি প্যাকেজ ইনস্টল করার অনেক উপায় আছে। সবচেয়ে সাধারণ উপায় হল ELPA এবং MELPA থেকে প্যাকেজটি উৎস করা। এটি করার জন্য, আমাদের শুধুমাত্র এই লিস্প কোডটি packages.el:
এ যোগ করতে হবে(package! name-of-package)
এটি package!
কে বলবে আমরা নির্দেশিত প্যাকেজের জন্য প্রতিটি সাধারণ সংগ্রহস্থল পরীক্ষা করার ফাংশন।
যাইহোক, যদি আপনার প্যাকেজটি Emacs-এর জন্য কোনো সংগ্রহস্থলে বিদ্যমান না থাকে, তাহলে আপনি এটি সরাসরি এর গিট সংগ্রহস্থল থেকেও ইনস্টল করতে পারেন:
(package! name-of-git-package :recipe (:host github :repo "username/package")
এটি package!
কে বলবে "ব্যবহারকারীর নাম/প্যাকেজ" সংগ্রহস্থলের অধীনে গিথুব থেকে নির্দিষ্ট প্যাকেজটি টেনে আনার ফাংশন৷
রিমোট রিপোজিটরিতে আমরা প্যাকেজটি কোথায় টানতে চাই তা নিয়েও আমরা নির্দিষ্ট হতে পারি। উদাহরণস্বরূপ, আমরা একটি সংগ্রহস্থলের একটি নির্দিষ্ট স্থান থেকে একটি প্যাকেজ টানতে পারি:
(package! another-git-package :recipe (:host github :repo "username/package" :files ("package.el" "path/of/*.el")))
এটি উপযোগী হয় যখন আমরা সাবডিরেক্টরিতে সাজানো অনেক প্যাকেজ সহ একটি সংগ্রহস্থল থেকে ইনস্টল করি। এটি ব্যবহার করে, আমরা প্যাকেজ হিসাবে কী ইনস্টল করতে চাই তা নির্দিষ্ট করতে পারি।
একবার হয়ে গেলে, আমাদের doom sync
চালাতে হবে Doom Emacs পুনরায় আরম্ভ করার জন্য।
অভিনন্দন! আপনার কাছে এখন ডুম ইম্যাক্সের একটি প্রাথমিক ইনস্টলেশনের পাশাপাশি এটি কীভাবে কাজ করে এবং কীভাবে এটি কনফিগার এবং প্রসারিত করতে হয় তার একটি প্রাথমিক ধারণা রয়েছে। আপনি যদি লিনাক্সে কিছু প্রোডাক্টিভিটি অ্যাপ্লিকেশন খুঁজছেন, তাহলে আমাদের কাছে শুধু আপনার জন্য নিবন্ধ রয়েছে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
1. আমি সবেমাত্র Doom Emacs ইন্সটল করেছি, এবং যখন আমি এটি খুলি তখনই এটি একটি ফাঁকা স্ক্রীন দেখায়৷
এটি সম্ভবত কারণ আপনার .doom.d ডিরেক্টরিতে একটি সমস্যা রয়েছে এবং Doom Emacs কোনো সেটিংস লোড করতে পারে না। এটি সমাধান করার একটি উপায় হল .doom.d ডিরেক্টরি বিদ্যমান কিনা এবং তিনটি ফাইল - init.el, packages.el এবং config.el - বিদ্যমান কিনা তা পরীক্ষা করা৷
এটিও ঘটতে পারে কারণ যে init.el ফাইলটি তৈরি করা হয়েছিল তা বিকৃত ছিল বা এর ভিতরে ডুম ফাংশন ছিল না। এটি ঠিক করার জন্য, আপনি Doom Emacs এর সাথে যে মডিউল চালাতে চান তার সাথে আপনাকে ডুমের ফাংশন ব্লক তৈরি করতে হবে৷
2. আমি আমার প্যাকেজগুলি পরিচালনা করতে package.el ব্যবহার করছি, আমি কি এখনও Doom Emacs-এ এটি ব্যবহার করতে পারি?
না। ডুম ইমাক্স তার প্যাকেজগুলি বজায় রাখার জন্য একটি ভিন্ন ম্যানেজার ব্যবহার করছে। অতিরিক্ত সফ্টওয়্যার ইনস্টল করার জন্য আপনাকে ডুম ইমাক্স দ্বারা প্রদত্ত প্যাকেজের ফাংশনটি ব্যবহার করতে হবে৷
3. আমি এই প্যাকেজটি Doom Emacs-এ ইনস্টল করেছি এবং এটি আর চাই না। আমি কিভাবে এটি আনইনস্টল করতে পারি?
Doom Emacs-এ একটি প্যাকেজ সরানো তুলনামূলকভাবে তুচ্ছ। আপনাকে শুধুমাত্র এই লিস্প কোডটি আপনার .doom.d/packages.el-এ চালাতে হবে:
(package! some-package :disable t)
এর পরে, Doom Emacs পুনরায় লোড করতে আপনাকে ডুম সিঙ্ক চালাতে হবে। আপনি যখন আবার লগ ইন করবেন, সেই প্যাকেজটি আনইনস্টল হয়ে যাবে৷
৷