> 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/1.0.0.part1intro/1.5.0.keyboardtricks/1.5.1.commandlineediting.md).

# কমান্ডলাইন এডিটিং

Readline নামের একটা লাইব্রেরির মাধ্যমে bash কমান্ডলাইন এডিটিং এর সুযোগ দেয়। কমান্ডলাইন এডিটিং এর কিছু নিদর্শন আমরা আগেও দেখেছি। যেমন আমরা এ্যারো কি ব্যবহার করে কমান্ডের লেখার মধ্যে ডানে-বামে সরতে পারি। এমন না যে সমস্ত এডিটিং ফিচার আপনার জানতেই হবে। তবে কোন কোনটা আপনার কাজে লাগতেও পারে। দেখে নেয়া ভালো।

## কার্সর মুভমেন্ট

এখানে কার্সর মুভমেন্ট এর কিছু কীবোর্ড শর্টকার্ট দেয়া হল:

| কী     | কার্যকারিতা                                                                                                        |
| ------ | ------------------------------------------------------------------------------------------------------------------ |
| Ctrl-a | কার্সরকে লাইনের প্রথমে নিয়ে যাবে।                                                                                  |
| Ctrl-e | কার্সরকে লাইনের শেষে নিয়ে যাবে।                                                                                    |
| Ctrl-f | কার্সরকে এক অক্ষর সামনে নিয়ে যাবে। রাইট এ্যারো কী চাপলেও একই ব্যাপার ঘটবে।                                         |
| Ctrl-b | কার্সরকে এক অক্ষর পিছনে নিয়ে যাবে। লেফট এ্যারো কী চাপলেও একই ব্যাপার ঘটবে।                                         |
| Alt-f  | কার্সরকে এক শব্দ সামনে নিয়ে যাবে।                                                                                  |
| Alt-b  | কার্সরকে এক শব্দ পিছনে নিয়ে যাবে।                                                                                  |
| Ctrl-l | স্ক্রীনের সবকিছু মুছে ফেলে উপরের বামপাশে একটা প্রম্পট ও কার্সর হাজির হবে। **clear** কমান্ড দিলেও একই ব্যাপার ঘটবে। |

## এডিটিং শর্টকাট

এবার কিছু টেক্সট এডিটিং শর্টকাট দেখে নেয়া যাক:

| কী     | কার্যকারিতা                                                                  |
| ------ | ---------------------------------------------------------------------------- |
| Ctrl-d | কার্সরের অবস্থানের একটি অক্ষর মুছে ফেলবে।                                    |
| Ctrl-t | কার্সরের অবস্থানের ও তার পরবর্তী অক্ষরের মধ্যে জায়গার অদলবদল ঘটবে।           |
| Alt-t  | কার্সরের অবস্থানের ও তার পরবর্তী শব্দের মধ্যে জায়গার অদলবদল ঘটবে।            |
| Alt-l  | কার্সের অবস্থান থেকে লাইনের শেষপর্যন্ত সমস্ত লেখা ছোটহাতের অক্ষরে বদলে যাবে। |
| Alt-u  | কার্সের অবস্থান থেকে লাইনের শেষপর্যন্ত সমস্ত লেখা বড়হাতের অক্ষরে বদলে যাবে।  |

## কাট এবং পেস্ট

আমরা যাকে কাট এবং পেস্ট বলি readline লাইব্রেরিটির ডকুমেন্টেশনে তাকে কিলিং(killing) ও ইয়াঙ্কিং(Yanking) বলে। যে লেখাগুলো কাট বা কিল করা হয় তা কিল-রিং(kill-ring) নামের একটা জায়গায় রাখা হয় যার পোশাকি নাম বাফার(buffer)। এখানে কিছু কাট এবং পেস্ট কমান্ড দেয়া হল:

| কী            | কার্যকারিতা                                                  |
| ------------- | ------------------------------------------------------------ |
| Ctrl-k        | কার্সরের অবস্থান থেকে লাইনের শেষ পর্যন্ত কাট বা কিল করবে।    |
| Ctrl-u        | কার্সরের অবস্থান থেকে লাইনের শুরু পর্যন্ত কাট বা কিল করবে।   |
| Alt-d         | কার্সরের অবস্থান থেকে শব্দের শেষ পর্যন্ত কাট বা কিল করবে।    |
| Alt-Backspace | কার্সরের অবস্থান থেকে শব্দের শুরু পর্যন্ত কাট বা কিল করবে।   |
| Ctrl-y        | কিল-রিং থেকে লেখা কপি করবে এবং কার্সরের অবস্থানে পেস্ট করবে। |
