> For the complete documentation index, see [llms.txt](https://sh.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sh.howtocode.dev/3.0.0.part3intro/3.2.0.0.texteditors/3.2.3.0.emacs/3.2.3.2.emacs-keys-and-command.md).

# ইম্যাকস্: ক্যারেক্টার, কী এবং কমান্ড

ইম্যাকস্ ভালোভাবে ব্যবহার করতে হলে এবং কোর্সের সুবিধার্থে এখানে প্রাথমিক তিনটি বিষয় ব্যাখ্যা করা প্রয়োজন। আসুন, তবে দেখা যাক।

## ক্যারেক্টার (Character)

এককথায় কীবোর্ডের প্রতিটি বোতামে এক বা একাধিক ক্যারেক্টার আছে। এর আছে কিছু শ্রেণীবিভাগ:

| ক্যারেক্টার এর ধরণ           | উদাহরণ                                                       | ব্যাখ্যা                                                                                                                                                      |
| ---------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| সাধারণ ক্যারেক্টার           | অ, ক, A, c, =, (, ] SPC(স্পেস) ইত্যাদি।                      | সাধারণত আমরা লেখাজোকায় যেসব ক্যারেক্টার ব্যবহার করি তাদের সাধারণ ক্যারেক্টার বলা হয়।                                                                          |
| বিশেষ বা স্পেশাল ক্যারেক্টার | TAB (ট্যাব), RET, DEL, ESC, F1 থেকে F12, Home, left ইত্যাদি। | সাধারণ ক্যারেক্টার ও মোডিফায়ার ছাড়া বাকি সব স্পেশাল ক্যারেক্টার। এগুলো বিভিন্ন বিশেষ কাজ করে থাকে।                                                            |
| মোডিফায়ার ক্যারেক্টার        | CTRL এবং META বা ALT                                         | CTRL এবং ALT (যাকে METAও বলা হয়।) এদুটি মোডিফায়ার। এরা সাধারণ ও স্পেশাল ক্যারেক্টারগুলোকে বিশেষ কাজ করিয়ে নেয়। ইম্যাকসে মোডিফায়ার এর প্রচুর ব্যবহার হয়ে থাকে। |

## কী (Key)

সহজভাষায়, ইম্যাকসে আমাদের ব্যবহারের জন্য যেসব শর্টকার্ট আছে সেগুলোই কী। আমরা কোর্সে বিভিন্ন জায়গায় এরকম অনেক কী'র সাথে পরিচিত হব। একটা কী'তে কয়েকটি অংশ থাকতে পারে। যেমন: `C-x C-f` এ দুটি অংশ। প্রথমে CTRL চেপে x তারপর CTRL চেপে f। একইভাবে M-x মানে META বা ALT চেপে f। আগেও বলেছি 'C-' ও 'M-' মানে যথাক্রমে CTRL এবং META। কী দুইরকম:

* **সম্পূর্ণ কী (Complete key)**: যে কী কোনো কাজ করতে সক্ষম তাকে আমরা কম্প্লিট কী বলি। যেমন: `C-x C-f`। এটি দিয়ে আপনি এডিটরে নতুন ফাইল খুলতে পারবেন।
* **উপসর্গ কী (Prefix key)**: আপনারা হয়ত বাঙলা ব্যকরণে উপসর্গ পড়েছেন। ব্যাপারটা একইরকম। এগুলো নিজে কিছু করতে পারে না। বরং কমান্ডের পরবর্তী অংশের জন্য অপেক্ষা করে। যেমন আপনি শুধু `C-x` চাপলে ইমাকস্ কমান্ডের পরবর্তী অংশের জন্য অপেক্ষা করবে।

## কমান্ড (Command)

ইম্যাকস্ এর কাছে কীগুলোর বিশেষ মানে নেই। আপনি চাইলেই সেটা চেঞ্জ করে অন্যকিছু করতে পারেন। আসলে গুরুত্বপূর্ণ হচ্ছে শর্টকার্ট এর পিছনের কমান্ডটি। এই কমান্ডগুলো ইলিস্পে লেখা একেকটি ফাংশন এবং `M-x` চেপে এদের নাম লিখে আপনি কমান্ডগুলি কার্যকর করতে পারেন। আমরা পরবর্তীতে প্রতেক্যটি কী-এর পাশে ব্রাকেটে কমান্ডটিও লিখে দেবো।
