> 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.4.emacs-search-and-replace.md).

# ইম্যাকস্: সার্চ এ্যান্ড রিপ্লেস

## সার্চ

ইম্যাকসে সার্চের বহুল ব্যবহৃত কী দুটি হল `C-s` (isearch-forward) এবং `C-r` (isearch-backward)। এদুটি কীবোর্ড থেকে টাইপ করা আপনার লেখা পড়বে এবং পরবর্তী বা পূর্ববর্তী যেখানে সেই লেখা পাবে সেখানে কার্সর নিয়ে যাবে। মনে করুন আপনি `C-s` চেপে isearch-forward চালু করলেন। এবার লিখলেন 'F' তাহলে ডকুমেন্টে পরবর্তী যেখানে 'F' আছে, সেখানে কার্সর যাবে। আবার লিখলেন 'O' তাহলে যেখানে 'FO' আছে শেখানে যাবে। লেখায় ভুল হলে DEL চেপে একটি করে ক্যারেক্টার মুছতে পারেন। সার্চ করে দরকারি জিনিসটা পেলে এন্টার চাপলে সার্চ বন্ধ হবে।

কিন্তু একই ডকুমেন্টে আপনার সার্চ স্ট্রিংয়ের সাথে একাধিক লেখা মিলতে পারে। পরেগুলো খুঁজতে হলে সার্চ কমান্ডটির পুনরাবৃত্তি করলেই হবে। এবার আর নতুন করে লিখতে হবে না। মনে করুন আপনি লেখার মধ্যে 'FOO' খুঁজছেন `C-s` দিয়ে। পরেরটিতে যেতে শুধু `C-s` চাপলেই হবে।

## সার্চ এবং রিপ্লেস

সার্চ এবং রিপ্লেসের জন্য সবচেয়ে ভালো কমান্ড হলো `M-%` (query-search)। `M-%` চাপলে প্রথমে আপনার কাছে কী সার্চ করতে চান জানতে চাইবে। আপনি মিনিবাফারে সেটি লিখে এন্টার দিলে কী দিয়ে রিপ্লেস করতে চান সেটি জানতে চাইবে। এটি লিখে এন্টার দিলে প্রত্যেকটি রিপ্লেসমেন্ট হাইলাইট করবে এবং আপনার কাছে অনুমতি চাইবে রিপ্লেস করবে কিনা। আপনি 'y' চাপলে রিপ্লেস করবে ও পরবর্তী সার্চ ম্যাচের কাছে যাবে। একইভাবে 'n' চাপলে রিপ্লেস না করে পরবর্তী টার্গেটে যাবে। সব রিপ্লেস করতে চাইল চাপবেন '!' আর বন্ধ করতে RET বা ESC।
