এটি করার একটি উপায় এখানে কেবল বিল্ট-ইন কার্যকারিতা ব্যবহার করে:
লাইনের পয়েন্টের সাথে যেটির প্রথম উপস্থিতি রয়েছে begin, টিপুন C-SPC।
এর পরবর্তী ঘটনায় যান end:
C-s end RET
প্রতিস্থাপন fooসঙ্গে bar:
M-% foo RET bar RET !
এটি এই সত্যটি ব্যবহার করে যে এটি query-replaceযদি একটি থাকে তবে পুরো বাফারের পরিবর্তে সক্রিয় অঞ্চলে কাজ করবে।
অবশ্যই, আপনি একটি কাস্টম কমান্ডও নির্ধারণ করতে পারেন:
(defun replace-from-to (beg end str repl)
(interactive "sBegin: \nsEnd: \nsString: \nsReplacement: ")
(save-excursion
(goto-char (point-min))
(let ((start-pos (search-forward beg))
(end-pos (search-forward end)))
(replace-string str repl nil start-pos end-pos))))
এই আদেশটি সর্বদা বাফারের শুরু থেকে অনুসন্ধান করবে, সুতরাং আপনি যখন অনুরোধ করবেন তখন বিন্দুটি begin/ foo/ পরে হতে পারে end।
এর মাধ্যমে একটি কী বাঁধাই সেট আপ করুন:
(global-set-key (kbd "C-c r") 'replace-from-to)