# ভিম-এর এডিটিং মোড

ভিমকে বলা হয় মোডাল এডিটর (Modal editor)। অর্থাৎ এর কর্মকান্ড বিভিন্ন মোডে ভাগ করা থাকে। আর দশটা এডিটরের মত ভিম চালু করেই অমনি লেখা শুরু করা যায় না। ভিম চালু হওয়ার সাথে সাথে কমান্ড মেডে থাকে। তারপর ইন্সার্ট মোড চালু করলে লেখা যায়। আমরা `vim vimfoo.txt` কমান্ড দিয়ে ভিম দিয়ে vimfoo.txt ফাইলটি খুলি। ফাইলটি না থাকলে ভিম নিজে থেকেই তৈরী করে নেবে। আমরা স্ক্রীনে এমনকিছু দেখবো:

```
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                                                                                                      
"vimfoo.txt" [New File]                                                              0,0-1         All
```

প্রত্যেক লাইনের প্রথমের '\~' চিহ্নের অর্থ হচ্ছে ওই লাইনে কিছু লেখা হয়নি। এখনো পর্যন্ত ভিম কমান্ড মোডে আছে। আপনাকে কিছু লিখতে হলে ইন্সার্ট মোডে যেতে হবে। তারজন্য আপনি চাপবেন '**i**'। **i** চাপলে নীচে লেখা আসবে: `-- INSERT --` অর্থাৎ লেখার জন্য প্রস্তুত। এবার আপনি লিখতে পারেন। নীচের লাইনটি লিখে আবার '**Esc**' চেপে কমান্ড মোডে ফিরে যান:

```
Best of luck for Tigers in ICC World Cup 2015.
```

লেখাটি সেভ করতে কমান্ড মোডে থাকতে '**:**' চাপুন। স্ক্রীনের নীচে আপনি ':' চিহ্ন দেখবেন। তারপর লিখুন w অর্থাৎ এখন দেখাবে ':w', তারপর এন্টার চাপুন। সামনে ':' চিহ্নওয়ালা কমান্ডকে এক্স কমান্ড (ex command) বলে।

কমান্ড মোডে প্রায় প্রতিটি অক্ষরেরই একটা না একটা কাজ আছে। আপনাকে কপি-পেস্টের মত কাজগুলোও এখানেই করতে হবে। আসলে ইন্সার্ট মোডে শুধু লেখা এবং ব্যাকস্পেস ব্যবহার করে মোছা ছাড়া কিছুই প্রায় করার নেই। এবার কমান্ড মোডে কার্সর ঘোরাফেরার কিছু শর্টকার্ট দেখে নেওয়া যাক:

| কী(key)             | কাজ                                                                        |
| ------------------- | -------------------------------------------------------------------------- |
| l বা Right Arrow    | ডানদিকে একঅক্ষর সরবে।                                                      |
| h বা Left Arrow     | বামদিকে একঅক্ষর সরবে।                                                      |
| j বা Down Arrow     | নীচের লাইনে যাবে।                                                          |
| k বা Up Arrow       | উপরের লাইনে উঠবে।                                                          |
| 0                   | বর্তমান লাইনের শুরুতে যাবে।                                                |
| ^                   | প্রথম নন-হোয়াইটস্পেস অক্ষরে যাবে।                                          |
| $                   | বর্তমান লাইনের শেষে যাবে।                                                  |
| w                   | পরবর্তী শব্দ বা যতিচিহ্নের শুরুতে যাবে।                                    |
| W                   | পরবর্তী শব্দের শুরুতে যাবে, যতিচিহ্ন আমলে নেবে না।                         |
| b                   | পূর্ববর্তী শব্দ বা যতিচিহ্নের শুরুতে যাবে।                                 |
| B                   | পূর্ববর্তী শব্দের শুরুতে যাবে, যতিচিহ্ন আমলে নেবে না।                      |
| Ctrl-f বা Page Down | একপৃষ্ঠা নীচে নামবে।                                                       |
| Ctrl-b বা Page Up   | একপৃষ্ঠা উপরে উঠবে।                                                        |
| *number*G           | number এর জায়গায় লেখা লাইনে যাবে। উদাহরনস্বরূপ: 4G মানে চতুর্থ লাইনে যাবে। |
| G                   | ফাইলের শেষ লাইনে যাবে।                                                     |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sh.howtocode.dev/3.0.0.part3intro/3.2.0.0.texteditors/3.2.2.0.vim/3.2.2.1.vim-editing-mode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
