এটি করার একটি উপায় এখানে কেবল বিল্ট-ইন কার্যকারিতা ব্যবহার করে:
লাইনের পয়েন্টের সাথে যেটির প্রথম উপস্থিতি রয়েছে 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)