অ্যান্ড্রয়েডে যেভাবে Emacs ইনস্টল ও সেটআপ করবেন
অ্যান্ড্রয়েডে কোডিং করার জন্য Emacs একটি চমৎকার এডিটর। এটি ক্রস-প্ল্যাটফর্ম, তাই আপনি সব ডিভাইসে একই কোড এডিটর ও পরিচিত পরিবেশে কোডিং করার সুবিধা পাবেন। আপনার যদি কম্পিউটার ছাড়াই কোডিং করার প্রয়োজন পড়ে, তাহলে এটিই সেরা এডিটর। যদিও এটির অ্যান্ড্রয়েড ভার্সন তুলনামূলক নতুন। গত ফেব্রুয়ারি মাসে এটি প্রকাশিত হয়। তবে আমি অ্যান্ড্রয়েডে আর কোনো কোড এডিটর চিনি না যা ডেস্কটপেও চালানো যায় এবং Emacs এর মতো শক্তিশালী। আপনি Termux এর মাধ্যমে Emacs এ git, python ইত্যাদি প্যাকেজ ব্যবহার করতে পারবেন। Emacs এর প্রকাশক এডিটরটির পরিচয় দিয়েছেন এভাবে:
Emacs is the advanced, extensible, customizable, self-documenting editor
অর্থাৎ, এর প্রধান বৈশিষ্ট্যগুলো হচ্ছে:
-
Advanced: Emacs সাধারণ লেখালেখির বাইরেও ইনডেন্ট করা, একাধিক ফাইল এডিট করা, রিমোট ফাইল এডিট করা ইত্যাদি কাজ পারে।
-
Self-documenting: এডিটরের মধ্য থেকেই আপনি হেল্প কমান্ড দিয়ে কোনো অপশনের কাজ কি বা একটি টপিকের সাথে সম্পৃক্ত সকল কমান্ড খুঁজে পেতে পারেন।
-
Customizable: সহজেই এর কমান্ডগুলো বদলাতে পারবেন।
-
Extensible: কেবল কমান্ড বদলানো ছাড়াও নতুন কমান্ড বানাতে পারবেন।
আসলে Emacs এ আপনি শুধু কোড এডিটিং ছাড়াও আরো অনেক কিছুই করতে পারবেন। ওয়েব ব্রাউজিং, ইমেইল বা সংবাদ পড়া, হিসাব-নিকাশ, কর্ম-পরিকল্পনাসহ আরো অনেক কিছুই করতে পারবেন। হতে পারে Emacs ব্যবহার শুরু করলে আপনার ফোন থেকে অনেক অ্যাপ আনইনস্টল করে দিতে ইচ্ছে করবে! Emacs Lisp দিয়ে প্রোগ্রাম করে বা প্যাকেজ ইনস্টল করে আপনি এমন অনেক কিছুই করতে পারবেন যা সাধারণ এডিটর পারে না।
তো চলুন, এবার অ্যান্ড্রয়েডে Emacs ইনস্টল করার প্রক্রিয়ায় যাওয়া যাক। অ্যান্ড্রয়েডে Emacs ইনস্টল করার তিনটি পদ্ধতি আছে। আর, তার মধ্যে Termux সাপোর্ট সহ Emacs ইনস্টল করাই সেরা পদ্ধতি।
ইনস্টল প্রক্রিয়া
সাধারণ ইনস্টল
এটি সবচেয়ে সহজ ও সোজা পদ্ধতি। আপনি শুধু অফিসিয়াল সোর্স থেকে অ্যাপটি ডাউনলোড করে ইনস্টল করবেন। ব্যস! তবে এতে git, ssh, python ইত্যাদি অতিরিক্ত প্যাকেজ পাবেন না। সাধারণ কোড এডিটিং এর জন্য আপনি এই পদ্ধতি ব্যবহার করতে পারেন। প্রক্রিয়াটি হল:
১. আপনার নিকটতম GNU মিরর বা মূল GNU FTP সার্ভার ভিজিট করুন।
২. আপনার ফোনের CPU আর্কিটেকচার এবং অ্যান্ড্রয়েড ভার্সন অনুযায়ী একটি প্যাকেজ ডাউনলোড করুন।
৩. এখন, .apk ফাইলটি ইনস্টল করুন। Unknown Source থেকে ইনস্টল করার অনুমতি চাইলে দিয়ে দিন।
নোট: F-Droid-এও একটি ভার্সন পাওয়া যায়। তবে এটি অফিসিয়াল ভার্সন থেকে পুরানো। আর, এতে অনেক সমস্যার সমাধান ও নতুন ফিচার নেই। তাই অফিসিয়াল APK ব্যবহার করাই ভালো।
Termux সাপোর্ট সহ ইনস্টল
Termux সাপোর্ট সহও Emacs ইনস্টল করা যায়। Termux হচ্ছে অ্যান্ড্রয়েডে টার্মিনাল ও লিনাক্স চালানোর একটা অ্যাপ। তাই এর সাথে Emacs-কে সমন্বয় করে দারুণ একটা কোডিং সেটআপ পাওয়া সম্ভব। আপনি তখন Termux প্যাকেজ যেমন git, clang, python, fish ইত্যাদি Emacs এর সাথে চালাতে পারবেন। আপনার মোবাইলে কোডিং অভিজ্ঞতা হবে আরও উন্নত। তাই আমি পরামর্শ দিচ্ছি এইটা করার, যদিও এতে কিছুটা পরিশ্রম দরকার। Termux সাপোর্ট সহ Emacs ইনস্টল করার জন্য আপনার Emacs-এর কী দিয়ে সাইন করা Termux প্যাকেজ দরকার হবে। Emacs সার্ভারেই এমন প্যাকেজ পাওয়া যায়। প্রক্রিয়াটি নিম্নরূপ:
১. আপনার ফোনে আগের Termux এবং Emacs অ্যাপ থাকলে আনইনস্টল করুন।
২. প্রথমে এই সোর্স থেকে Termux ইনস্টল করুন।
৩. তারপর আপনার নিকটতম মিরর বা GNU FTP সার্ভার থেকে Emacs ইনস্টল করুন। আপনাকে অবশ্যই termux/ ডিরেক্টরি থেকে প্যাকেজ ইনস্টল করতে হবে।
- এখন, Termux এ নিচের কমান্ড রান করুন:
$ pkg update && pkg upgradeএখানে প্রতিটি প্রশ্নের যথাযথ উত্তর দিন।
- সব প্যাকেজ ইনস্টল এবং আপডেট হওয়ার পর, Emacs-এ গিয়ে নিচের কোডটি
.emacs.d/early-init.elফাইলে যোগ করুন (Early Init File সম্পর্কে আরো জানতে Emacs ম্যানুয়াল দেখুন):
(setenv "PATH" (format "%s:%s" "/data/data/com.termux/files/usr/bin" (getenv "PATH")))(push "/data/data/com.termux/files/usr/bin" exec-path)এটি Emacs এর ভেতরে Termux বাইনারিগুলোর লোকেশন $PATH এনভায়রনমেন্ট চলকে যোগ করবে।
এবার, Emacs রিস্টার্ট করুন। এখন আপনি Emacs থেকেই Termux এর প্রোগ্রাম ব্যবহার করতে পারবেন।
কোড এডিটর তো সেটআপ করে ফেললেন, এবার প্রোগ্রামিং শেখাও শুরু হয়ে যাক- কী বলেন? শুরু করার জন্য পাইথন একটি দারুণ প্রোগ্রামিং ভাষা। কারণ এটা খুবই সহজ। আর বিশ্বসেরা ভার্সিটি (যেমন MIT) প্রাথমিকভাবে এই ভাষা ব্যবহার করে প্রোগ্রামিং শেখার কোর্স নিয়ে এসেছে। পাইথন শেখার জন্য আপনি পাইথন দিয়ে প্রোগ্রামিং শেখা বইটি পড়তে পারেন। লেখক তামিম শাহরিয়ার সুবিন এই বইটি যাদের প্রোগ্রামিং সম্পর্কে ধারণা নেই তাদের জন্যই লিখেছেন। আর বইটি বর্তমানে বেস্টসেলার তালিকায় রয়েছে। বইটি কিনতে এই লিংকে ক্লিক করুন।
নোট: Emacs ও Termux (বা এর প্লাগ-ইন) এর যেকোনো ভবিষ্যত আপডেট একই কী দিয়ে সাইন করা থাকতে হবে। Emacs সার্ভার থেকে ডাউনলোড করলে আলাদা করে সাইন করার প্রয়োজন নেই। তবে অন্য কোথাও থেকে প্যাকেজ ডাউনলোড করলে আপনাকে অবশ্যই নিচের লিংকের কী দিয়ে সাইন করে নিতে হবে। এটাই Emacs সার্ভারে ব্যবহার করা হয়।
https://git.savannah.gnu.org/cgit/emacs.git/tree/java/emacs.keystore
Termux রিপোজিটরি থেকে ইনস্টল
আপনি সরাসরি Termux রিপোজিটরি থেকেও Emacs ইনস্টল করতে পারেন। তারপর Termux এর ভিতর থেকেই টার্মিনাল ইন্টারফেসে Emacs ব্যবহার করতে পারবেন। ইনস্টল করতে কমান্ড দিন:
pkg install emacsতবে, আমার মতে অফিসিয়াল অ্যাপই উত্তম। কারণ, এটি অ্যান্ড্রয়েড সিস্টেমের মধ্যেই একটি স্বতন্ত্র গ্রাফিক্যাল অ্যাপ হিসেবে চলে। আর এটাতে অ্যান্ড্রয়েডের জন্য ভালো সাপোর্ট আছে। অন্যদিকে, Termux এর Emacs কোনো আলাদা অ্যান্ড্রয়েড অ্যাপ নয়। বরং এটা Termux এরই একটি প্যাকেজ।
প্রাথমিক জ্ঞান ও সেটআপ
💡 আপনি চাইলে আমার Emacs কনফিগারেশন দেখতে পারেন। আর তাড়া থাকলে আপনি আমার barebones.el ফাইলটিকেই Init File হিসেবে ব্যবহার শুরু করতে পারেন। এই ফাইলে কিছু ব্যতিক্রম বাদে নিচের সবগুলো কনফিগারেশন চালু করা আছে। আর আমি বুঝার সুবিধার্থে আমার সব ফাইলে কমেন্ট যুক্ত করে রেখেছি। তাই ব্যতিক্রমের ক্ষেত্রেও আপনি যথাযথ তথ্য পাবেন।
barebones.elএর পাশাপাশি অন্যান্য ফাইলে আরো কিছু উপকারী কনফিগারেশনও রয়েছে। তাই সবগুলো ফাইলই দেখার পরামর্শ রইল।
Emacs এর কিবোর্ড প্রতীক
Emacs এ কিবোর্ডের কিছু কী বোঝাতে নিচের প্রতীকগুলো ব্যবহার করা হয়:
| প্রতীক | অর্থ |
|---|---|
ESC | ESCAPE |
M | META (ALT) |
C | CTRL (CONTROL) |
S | SHIFT |
SPC | SPACE |
RET | RETURN (ENTER) |
DEL | DELETE |
উদাহরণ: C-s = CTRL-s, M-x = META-x, S-d = SHIFT-d, C-M-DEL = CTRL-META-DELETE
অ্যান্ড্রয়েডে Emacs কাস্টমাইজ করা
অ্যান্ড্রয়েডে Emacs এর সেটিংস পরিবর্তন করা তথা কাস্টমাইজ করার সেরা উপায় হলো Easy Customization Interface ব্যবহার করা। মেনু বারে গিয়ে Options > Customize Emacs থেকে এটি ব্যবহার করা যায়। Customize Emacs মেনুতে অনেক অপশন আছে। আপনি Top-level Emacs Customization Group দিয়ে শুরু করতে পারেন, যা মূলত Easy Customization Interface এর প্রথম পাতা। সেটিংস সার্চ করার জন্য এর উপরে একটি সার্চ বারও আছে। তাছাড়া, আপনি All Settings Matching অপশন ব্যবহার করেও সার্চ করতে পারেন।
Emacs কে Initialization File (বা সংক্ষেপে Init File) দিয়েও কাস্টমাইজ করা যায়। ~/.emacs.el, ~/.emacs, বা ~/.emacs.d/init.el - এই নামগুলো ব্যবহার করে Emacs তার Initialization File খোঁজে। আপনি এই ফাইলে Emacs Lisp নামক প্রোগ্রামিং ভাষা ব্যবহার করে Emacs সেটিংস নিয়ন্ত্রণ করতে পারেন। উদাহরণস্বরূপ, টাইপিং বন্ধ করার ৫ সেকেন্ড পর অটো-সেভ করতে auto-save-timeout চলকের মান setq দিয়ে পরিবর্তন করুন:
(setq auto-save-timeout 5)মডিফায়ার বার চালু করতে modifier-bar-mode নামক মাইনর মোড কমান্ডকে আর্গুমেন্ট 1 দিয়ে কল করুন:
(modifier-bar-mode 1)Init File এ লেখার নিয়ম সম্পর্কে বিস্তারিত জানতে Emacs ম্যানুয়াল দেখুন। তাছাড়া, Init File লোড হবার পূর্বেই কোনো কমান্ড দেবার প্রয়োজন হলে Early Init File ব্যবহার করতে পারেন, যা আমরা পূর্বে ইনস্টল করার সময় করেছি।
পাশাপাশি, Emacs-এর ভেতর থেকেই আপনি M-x চেপে যেকোনো কমান্ড রান করতে পারেন। যেমন M-x Customize লিখে এন্টার চাপলে Top-level Emacs Customization Group চলে আসবে, কারণ Customize হচ্ছে Easy Customization Interface এর কমান্ড। তাছাড়া, আপনি ট্যাব কমপ্লিশনের মাধ্যমে কমান্ড খুঁজে বের করতে পারবেন।
Emacs কে স্টোরেজ ব্যবহারের অনুমতি দিন
অ্যান্ড্রয়েডে Emacs এমনিতেই তার অ্যাপ ডাটা ডিরেক্টরি (সাধারণত /data/data/org.gnu.emacs/files) ব্যবহারের অনুমতি পায়, যা তার হোম ডিরেক্টরি হিসেবে ব্যবহৃত হয়। তবে ফাইল খোলা এবং এডিট করার জন্য অভ্যন্তরীণ স্টোরেজ (/sdcard) ব্যবহারেরও অনুমতি প্রয়োজন। অ্যান্ড্রয়েড ১১+ এ এই অনুমতি দিতে:
-
Settings থেকে Apps সেকশনে যান।
-
তারপর, Special app access অপশনে যান।
-
অ্যাপের তালিকা থেকে Emacs খুঁজে বের করে তার জন্য All files access চালু করুন।
অ্যান্ড্রয়েড ১১ এর নিচের ভার্সনের জন্য, আপনি App Info থেকেই স্টোরেজ ব্যবহারের অনুমতি দিতে পারবেন।
তাছাড়া, আপনি Emacs কে অন্যান্য অ্যাপের স্টোরেজ (যেমন ক্লাউড অ্যাপের স্টোরেজ) ব্যবহারের অনুমতিও দিতে পারেন। তার জন্য Emacs মেনু বার থেকে File > Execute command এ গিয়ে android-request-directory-access কমান্ড দিন। এবার, সংশ্লিষ্ট স্টোরেজ এবং তারপর আপনার পছন্দের ডিরেক্টরি বেছে নিন।
দৃশ্যমান বারগুলো সেট আপ করুন
আপনি যদি ফিজিক্যাল কিবোর্ড ছাড়া অ্যান্ড্রয়েডে Emacs ব্যবহার করতে চান, বিভিন্ন দৃশ্যমান বার যেমন মেনু বার, টুল বার ইত্যাদি হবে আপনার সেরা বন্ধু। তাই Customize থেকে মেনু বার, টুল বারসহ এরকম আরও যা যা প্রয়োজন চালু করে দিন। অ্যান্ড্রয়েডের জন্য একটি খুবই উপকারী ফিচার হলো Emacs এর মডিফায়ার বার। এতে মডিফায়ার কী (যেমন CTRL, ALT, META ইত্যাদি) এর বাটন থাকে। যেহেতু মডিফায়ার বারটি টুল বারের সাথে যুক্ত, আপনি tool-bar-mode চালু থাকা অবস্থায় modifier-bar-mode দিয়ে এটি চালু করতে পারেন। যখনই কোনো মডিফায়ার কী টাচ করবেন, Emacs অন-স্ক্রীন কিবোর্ডও দেখাবে এবং টেক্সট কনভার্সন সাময়িকভাবে বন্ধ করে রাখবে, যাতে আপনি Text বা Prog Mode বাফারে মডিফায়ার কী ব্যবহার করতে পারেন। আপনি tool-bar-position এর মান bottom সেট করে এই কী-গুলো আপনার আঙুলের কাছাকাছি রাখতে পারেন।
সর্বদা অন-স্ক্রীন কিবোর্ড চালু রাখুন
অ্যান্ড্রয়েডে Emacs স্ক্রীনের জায়গা বাঁচানোর জন্য রিড-অনলি বাফারে অন-স্ক্রীন কিবোর্ড লুকিয়ে রাখে। আপনি কিবোর্ড দিয়ে যা করতে চান তা সাধারণত মেনু বার বা টুল বার থেকেই করে নিতে পারবেন । তবুও, কিবোর্ড সর্বদা হাতের কাছে থাকা উপকারী। তার জন্য Customize এ গিয়ে touch-screen-display-keyboard চালু করুন।
কিবাইন্ডিং নির্ভর কিছু প্যাকেজের জন্য
কিছু Emacs প্যাকেজ (যেমন evil) যেগুলো কিবাইন্ডিংয়ের উপর নির্ভর করে (নির্দিষ্ট বাটনের ভিত্তিতে ক্রিয়া করে), সেগুলো অ্যান্ড্রয়েডের অন-স্ক্রীন কিবোর্ডের সাথে কাজ করে না। কারণ অ্যান্ড্রয়েড ইনপুট মেথড Emacs এর টেক্সট কনভার্সন স্টাইলের উপর নির্ভর করে, যা Emacs এর কিছু কিছু ফিচারের জন্য প্রয়োজন। আপনি যদি এমন কোনো Emacs প্যাকেজ ব্যবহার করেন যা এটার কারণে কাজ করে না, অথবা আপনি যদি ফোনেটিক কিবোর্ড ব্যবহার করে থাকেন, তাহলে overriding-text-conversion-style চলক ব্যবহার করে গ্লোবালি টেক্সট কনভার্সন বন্ধ করুন অথবা text-conversion-style দিয়ে লোকালি নির্দিষ্ট বাফারে বন্ধ করুন।
টার্মিনাল ও শেল
Emacs এর ভেতর থেকেই টার্মিনাল ও শেল ব্যবহার করা যায়। তার জন্য এতে এই কমান্ডগুলো রয়েছে:
-
টার্মিনাল:
termansi-term
-
শেল:
shelleshell
টার্মিনাল সরাসরি কিবোর্ড থেকে ইনপুট গ্রহণ করতে পারে। যার কারণে এতে কিছু ফিচার (যেমন আপ এরো ব্যবহার করে পুরনো কমান্ড দেখা) পাওয়া যায়। অন্যদিকে, শেল ইনপুট গ্রহণ করে বাফার থেকে। তাই এতে টার্মিনালের কিছু ফিচার পাওয়া যায় না। আপনার যদি বিশেষ ধরণের ক্যারেক্টার সাপোর্টের দরকার পড়ে (যেমন রঙিন আউটপুট), তাহলে ansi-term ব্যবহার করতে হবে। আর, eshell হচ্ছে শেলের মতই একটি কমান্ড ইন্টারপ্রেটার যা Emacs Lisp ব্যবহার করে তৈরি করা হয়েছে।
Emacs দিয়ে ফাইল ওপেন করা
আপনি যখন অ্যান্ড্রয়েডে কোনো ফাইল ওপেন করার চেষ্টা করেন, এটি জিজ্ঞাসা করে কোন অ্যাপ ব্যবহার করতে চান। Emacs দিয়ে কোনো ফাইল ওপেন করতে আপনার Emacs সার্ভার চালু করতে হবে। Emacs এর ভিতর থেকে M-x server start রান করে সার্ভার চালু করতে হয়। তবে Emacs খুললেই সার্ভার অটোমেটিকভাবে চালু করা আপনার জন্য সুবিধাজনক হবে। এটি করতে, আপনার Initialization File এ (server-start) যোগ করুন।
এডিটিং ও পড়ার মান উন্নত করা
কোনো ফাইলে লম্বা লাইন থাকলে তা সহজে পড়ার উপায় হচ্ছে ওয়ার্ড-র্যাপ ব্যবহার করা। তাহলে লাইনগুলো স্ক্রীন অতিক্রম করার বদলে কয়েক লাইনে দেখাবে যাতে ডানে-বামে স্ক্রল করতে না হয়। visual-line-mode দিয়ে আপনি এরূপ লাইনগুলোর প্রকৃত ক্রমের বদলে দৃশ্যমান ক্রমানুসারে এডিট করতে পারবেন। এই মোড সাধারণ এডিটিং কমান্ডগুলোকে দৃশ্যমান লাইনে কাজ করতে দেয় এবং বাফারে ওয়ার্ড-র্যাপও চালু করে। ফলে আপনি অ্যান্ড্রয়েডে ভালোভাবে পড়তে এবং টাইপ করতে পারবেন। পাশাপাশি, আপনি visual-wrap-prefix-mode চালু করে পরবর্তী র্যাপ করা লাইনগুলো ইন্ডেন্টও করতে পারেন। পাশাপাশি, নিচের ফিচারগুলোও দেখতে পারেন:
ফন্ট সেট করা
আপনি set-frame-font ফাংশন দিয়ে Emacs এ ডিফল্ট ফন্ট সেট করতে পারেন:
(set-frame-font "JetBrains Mono")পাশাপাশি, Customize এর Faces গ্রুপ থেকেও ফন্ট সেট করতে পারবেন। Emacs এর বিভিন্ন অংশে ব্যবহৃত ফন্টের জন্য এই গ্রুপের অধীনে বিভিন্ন সাবগ্রুপ আছে। আপনি Basic Faces সাবগ্রুপ দিয়ে শুরু করতে পারেন এবং প্রয়োজন অনুযায়ী অন্যগুলো কাস্টমাইজ করতে পারেন। আপনার মূল ফন্ট বাংলা সাপোর্ট না করলে ফন্টসেটে বাংলা ভাষার ফন্ট যোগ করতে হবে। তার জন্য আপনার Init File এ নিচের কোডটি ব্যবহার করতে পারেন:
(set-fontset-font "fontset-default" nil "Noto Sans Bengali" nil 'append)এই কোড অনুসারে Emacs বাংলা ভাষার জন্য Noto Sans Bengali ফন্টটি ব্যবহার করবে। এই ফন্টটি সাধারণত অ্যান্ড্রয়েড ফোনে আগে থেকেই দিয়ে দেওয়া থাকে। তবে আপনি যে ফন্টটি ব্যবহার করতে চান তা যদি ডিভাইসে না থাকে, তাহলে Emacs এর হোম ডিরেক্টরিতে fonts নামে একটি ফোল্ডার তৈরি করে সেখানে ফন্ট ফাইলটি কপি করতে হবে।
কোড লেখা ছাড়াও আর যা করা যায়
ইতোপূর্বে বলেছিলাম, Emacs এ আপনি কেবল কোডিং ছাড়াও আরো অনেক কিছুই করতে পারবেন। আপনার মনে হতে পারে- কোড এডিটরের কাজ হচ্ছে কোডিং করা, এটাতে সবকিছু কেন করতে যাব! তবে, প্রোগ্রামিং করার সময় এডিটর ছেড়ে অন্য জায়গায় যাওয়া বিরক্তিকর। এতে মনোযোগ ক্ষুণ্ন হয়। আর Emacs এর এমন ফিচারের কারণে আপনার নানারকম কাজ করতেও একইরকম কমান্ড ব্যবহার করতে পারবেন। বিশেষ করে সেই কাজগুলো যখন প্রোগ্রামিংয়ের সাথেই সম্পর্কিত, তখন এটা সুবিধাজনক।
Emacs এর সাথেই এমন কিছু প্যাকেজ দেয়া থাকে যেগুলো ওয়েব ব্রাউজিং, মেইল পড়া ইত্যাদি বিভিন্ন কাজ করতে পারে। পাশাপাশি, আপনি অন্যান্য প্যাকেজ ইনস্টল করে আরও ফিচার যুক্ত করতে পারেন। Emacs এ কি কি করা সম্ভব তার সংক্ষেপে কিছু উদাহরণ আমি এখানে পেশ করছি। বিস্তারিত জানতে সংশ্লিষ্ট ম্যানুয়াল পড়তে পারেন।
-
কর্ম-পরিকল্পনা: আপনি Org Mode ব্যবহার করে Emacs এ নিজের কাজকর্মের পরিকল্পনা তৈরি করতে পারবেন। Org Mode হচ্ছে Emacs এর একটি লেখনী টুল ও কর্মতালিকা ম্যানেজার। Emacs সম্পর্কিত আলোচনায় এই ফিচারটির কথা প্রায়ই উঠে আসে। এটি মূলত একটি মার্কআপ ভাষা- বলতে পারেন মার্কডাউনের বিকল্প। তবে এর সিনট্যাক্স মার্কডাউনের তুলনায় সহজ। আপনি যদিও অন্যান্য এডিটরে Org ফাইল ব্যবহার করতে পারবেন, কিন্তু Emacs এ এর কিছু স্মার্ট ফিচার রয়েছে। যেমন আপনি Org ফাইলের হেডিং লাইনে
TABচেপে তার অধীনের লেখা ও সাবহেডিংগুলো লুকিয়ে রাখতে পারবেন। বারবারTABচাপলে সাবহেডিংগুলোকে ধাপ অনুসারে দৃশ্যমান করা হবে। বাফারের যেকোনো জায়গায়S-TABচাপলে পুরো ফাইলের জন্য কাজ করবে। Org Mode সম্পর্কে বিস্তারিত জানতে সংশ্লিষ্ট ম্যানুয়াল পড়ুন। -
ওয়েব ব্রাউজিং: Emacs এর একটি সরল ওয়েব ব্রাউজার আছে, যেটা কেবলই HTML সাপোর্ট করে। CSS ও JavaScript এতে কাজ করে না। ব্রাউজারটির নাম EWW। এটা চালানোর জন্য
M-x ewwকমান্ড ব্যবহার করুন। কোডিং করার সময় দ্রুত কোনো তথ্য দেখার জন্য, ডকুমেন্টেশন পড়ার জন্য এটা দারুণ। ওয়েবসাইটগুলো অনেক সময় আমাদের মনোযোগ অন্যদিকে নিয়ে যায়। ব্রাউজারটির সরল ইন্টারফেস তার থেকে বাঁচায়। -
মেইল ও সংবাদ পাঠ: Emacs এ Gnus ব্যবহার করে ইমেইল ও সংবাদ পড়া যায়। প্রথম দিকে এই প্রোগ্রামটিতে কেবল ইউজনেটের মত সংবাদই পড়া যেত। তবে এখন এটি একটি ইমেইল ক্লায়েন্ট হিসেবেও কাজ করতে পারে। তবে এটিতে মেইল পড়ার পদ্ধতিও নিউজগ্রুপের মত। বিস্তারিত জানতে Gnus ম্যানুয়াল পড়তে পারেন। Gnus ছাড়াও আপনি mu4e প্যাকেজ ব্যবহার করে Emacs এ মেইল পড়তে পারবেন।
-
ক্যালেন্ডার ও ডায়েরি: Emacs এ একটি ডেস্ক ক্যালেন্ডার ফিচার রয়েছে, যার সাথে ইভেন্ট রেকর্ড করার জন্য ডায়েরিও আছে। এটা দিয়ে অ্যাপয়েন্টমেন্ট ম্যানেজ করা এবং টাইম ট্র্যাকও করা যায়। ক্যালেন্ডার দেখতে
M-x calendarকমান্ড দিন। আর ক্যালেন্ডার থেকে বের হতেqচাপুন। -
বই পড়া: Emacs এ আপনি বইও পড়তে পারবেন। এটা PDF, OpenDocument, Microsoft Office, EPUB, PostScript (PS) ইত্যাদি বিভিন্ন ফাইল ফরম্যাট সাপোর্ট করে।
-
ফাইল ম্যানেজার: Emacs এর একটি নিজস্ব ফাইল ম্যানেজার আছে, যার নাম Dired। এটি খুবই সরল এবং কোডিংয়ের সময় সহজেই ফাইল খুঁজে বের করতে কাজে লাগে।
প্যাকেজ ইনস্টল করা
Emacs এ আপনি প্যাকেজ ইনস্টল করে নতুন ফিচার যুক্ত করতে পারবেন। এর জন্য package-install কমান্ড ব্যবহার করতে পারেন। তবে সবচেয়ে সুবিধাজনক হচ্ছে প্যাকেজ মেনু ব্যবহার করা। তার জন্য list-packages কমান্ড ব্যবহার করুন। এখানে কয়েকটি কমান্ড রয়েছে। যেমন i দিয়ে ইনস্টল আর d দিয়ে ডিলিট করার জন্য চিহ্নিত করা, x দিয়ে চিহ্নিত প্যাকেজ ইনস্টল/ডিলিট করা, ?/RET চেপে প্যাকেজের বিবরণ দেখা ইত্যাদি। Emacs দুটি জায়গা থেকে প্যাকেজ ডাউনলোড করে: GNU ELPA আর NonGNU ELPA। তবে আপনি বাড়তি আর্কাইভ (যেমন MELPA) যোগ করতে পারবেন। তার জন্য package-archives চলকটির মান পরিবর্তন করতে হবে।
ম্যানুয়াল পড়ুন
Emacs এ অনেক ফিচার রয়েছে এবং আপনার মাঝে মাঝেই সাহায্যের প্রয়োজন হবে। আর সাহায্য পাওয়ার সেরা উপায় হলো ম্যানুয়াল পড়ে নিজের সাহায্য নিজেই করা । Emacs এর সাথেই বেশ কিছু ম্যানুয়াল অন্তর্ভুক্ত আছে:
আপনি C-h i কমান্ড দিয়ে Emacs এর ভিতর থেকে বা অনলাইনে এগুলো পড়তে পারেন। C-h r কমান্ড সরাসরি Emacs ম্যানুয়াল ওপেন করবে। ম্যানুয়ালের ভিতর i টাইপ করে আপনি হেল্প টপিক খুঁজে বের করতে পারেন যা খুবই সুবিধাজনক। এ জায়গা থেকে সহজেই অ্যান্ড্রয়েড বিষয়ক টপিকগুলো ম্যানুয়াল থেকে খুঁজে পেতে পারেন। অবশ্য অ্যান্ড্রয়েডের জন্য ম্যানুয়ালের একটি আলাদা অংশই রয়েছে - Appendix H Emacs and Android। আপনি বিশেষ করে নিচের অংশগুলো পড়তে পারেন:
এছাড়া, Emacs এর README পড়তে ভুলবেন না। পাশাপাশি, আপনি describe-* কমান্ড যেমন describe-function, describe-mode, describe-variable ইত্যাদি দিয়ে বিভিন্ন ফাংশন, চলক, মোড ইত্যাদির বিবরণ এবং তাদের মান সম্পর্কে জানতে পারেন। শুরু করতে শুধু M-x টাইপ করুন বা File > Execute Command অপশন ব্যবহার করুন।
ব্যস! এখন আপনার অ্যান্ড্রয়েডে একটি বেসিক Emacs সেটআপ তৈরি হয়ে গেছে। আপনি যদি কোনো সমস্যায় পড়েন, নিচে কমেন্ট করুন। আজ এ পর্যন্তই। শীঘ্রই আরো সুন্দর সুন্দর লেখা নিয়ে আপনাদের সামনে হাজির হব ইনশাআল্লাহ। এই আর্টিকেলটি উপকারী মনে হলে অবশ্যই অন্যান্য কোডারদের সাথে শেয়ার করতে ভুলবেন না! শেয়ার করে কম্পিউটারের অভাবে প্রোগ্রামিং শিখতে অক্ষম আপনার অসহায় মেধাবী বন্ধুকে সাহায্য করুন।
আপনিও কি কম্পিউটারের অভাবে প্রোগ্রামিং শিখতে পারছেন না? আমি আপনার অ্যান্ড্রয়েড ফোনে Emacs দিয়ে একটি কোডিং এনভায়রনমেন্ট সেট আপ করতে সাহায্য করতে পারি। তাছাড়া, আমি অন্যান্য IT সার্ভিসও প্রদান করি যা IT সাপোর্ট থেকে ওয়েব ডেভেলপমেন্ট পর্যন্ত বিস্তৃত। যদি প্রযুক্তি সংক্রান্ত সমস্যায় সাহায্য দরকার হয়, কিংবা যদি আপনি প্রযুক্তি শিখতে চান বা যদি আপনার নিজের ওয়েবসাইট তৈরি করতে চান, আমার সাথে যোগাযোগ করুন:
- ইমেইল: [email protected]
- টেলিগ্রাম: @khalidershell
← আর্টিকেল তালিকায় ফিরে যান
এই লেখাটি সম্পর্কে আপনার অনুভূতি কী?