শুরুতে না গিয়ে ইমাक्सগুলিতে পুরো বাফারের জন্য স্ট্রিং কীভাবে অনুসন্ধান / প্রতিস্থাপন করবেন?


9

প্রথমে বাফার শীর্ষে ফিরে যাওয়া এবং তারপরে অনুসন্ধান / অনুসন্ধান করা সত্যিই অসুবিধাজনক। ঠিক আছে, অনুসন্ধানের জন্য, এটি তুলনামূলকভাবে সহজ যে আপনি C-sচারপাশে মোড়ানোর জন্য আরও একটি সময় চাপতে পারেন , তবে ক্যোয়ারী / প্রতিস্থাপনের জন্য, এটি ক্লান্তিকর।

উভয় ক্রিয়াকলাপের জন্য বাফার শীর্ষে না গিয়ে তা করতে কোনও সাধারণ হ্যাক?

উত্তর:


6

হু, দেখে মনে হচ্ছে আপনি পারবেন না ( এখান থেকে নেওয়া , জোর দেওয়া আমার):

'বার' এর সাথে বিন্দু পরে 'foo' এর প্রতিটি প্রতিস্থাপনের জন্য, দুটি আর্গুমেন্ট fooএবং barপ্রতিস্থাপনটি কেবলমাত্র পয়েন্টের পরে ঘটে, সুতরাং আপনি যদি পুরো বাফারটি আবরণ করতে চান তবে আপনাকে প্রথমে প্রথমে যেতে হবে

ব্যক্তিগতভাবে, আমি বাফারকে দুটি ( C-x 2) -তে বিভক্ত করি , শীর্ষে ( C-Home) যান এবং তারপরে প্রতিস্থাপন কমান্ডটি চালান, আমার মূল ফলকে ( C-x o) এ ফিরে যান এবং তারপরে দ্বিতীয়টি ( C-x 0) মেরুন । জানি না যে আরও সহজ করার কৌশল আছে কিনা।


4
(defun my-replace-string ()
  (interactive)
  (save-excursion
    (beginning-of-buffer)
    (call-interactively 'replace-string)))

সুন্দরভাবে কাজ করে, তবে অঞ্চল / নির্বাচনের উপর কোয়েরি-প্রতিস্থাপন (সর্বদা পুরো বাফারে করে) ws
অ্যালেক্স


0

আমি ইমাস 24+ এর সাথে কাজের জন্য নীচে ব্যবহার করছি:

;; query replace all from buffer start
(fset 'my-query-replace-all 'query-replace)
(advice-add 'my-query-replace-all
            :around
            #'(lambda(oldfun &rest args)
               "Query replace the whole buffer."
               ;; set start pos
               (unless (nth 3 args)
                 (setf (nth 3 args)
                       (if (region-active-p)
                           (region-beginning)
                         (point-min))))
               (unless (nth 4 args)
                 (setf (nth 4 args)
                       (if (region-active-p)
                           (region-end)
                         (point-max))))
               (apply oldfun args)))
(global-set-key "\C-cr" 'my-query-replace-all)

অঞ্চলটি প্রতিস্থাপনের ক্ষেত্রে সম্মান করুন এবং যে কোনও START এবং END আরোগুলি কেটে গেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.