কেন পরোক্ষ বাফার ব্যবহার করবেন?


উত্তর:


16

একই বাফার একাধিক অবস্থান দেখতে এবং সম্পাদনা করতে। সুতরাং, আপনাকে দীর্ঘ বাফারটি স্ক্রোল করতে হবে না তবে কেবল উইন্ডোটি দৃশ্যমান অঞ্চলে স্যুইচ করতে হবে। প্রতিটি ক্লোন করা বাফারের আলাদা চিহ্নের রিং, সংকীর্ণকরণ এবং অন্যান্য বাফার বৈশিষ্ট্যও রয়েছে। আপনি যদি অপ্রত্যক্ষ বাফার ব্যবহার না করে তবে একই বাফারটির অন্য একটি উইন্ডো তৈরি করেন তবে সমস্ত কিছু ভাগ করা আছে এবং আপনি বিভিন্ন অবস্থান দেখার ও সম্পাদনার বাইরে অন্যান্য অগ্রিম বৈশিষ্ট্যগুলি সম্পাদন করতে পারবেন না। উদাহরণস্বরূপ, অপ্রত্যক্ষ বাফারের সাহায্যে আপনি সমস্ত কোড ব্লককে ভাঁজ করতে পারেন, মূল বাফারকে প্রভাবিত না করে কার্যকরভাবে একটি "ট্যাগ ট্রি" তৈরি করতে পারেন। একটি উইন্ডো ব্যবহার করে, উভয় উইন্ডোর উভয় বাফারগুলি ভাঁজ করা হয় কারণ উভয় বাফার একই।

সংক্ষেপে, অপ্রত্যক্ষ বাফার হ'ল সম্পূর্ণ ভিন্ন বাফার যা আপনার মূল বাফারে একই পাঠ্য এবং ফাইলটি ভাগ করে নেওয়ার জন্য ঘটে তাই আপনি ক্লোনযুক্ত বাফারটি সংরক্ষণ করার পরে এটি আপনার মূল ফাইলটিও সংরক্ষণ করে।


3
আমি সম্মত হই যে পরোক্ষ বাফারগুলির সুবিধা রয়েছে। তবে আপনার প্রথম পয়েন্টটি অপ্রত্যক্ষ হওয়ার জন্য বাফারগুলির দরকার নেই। একই বাফারটি দুটি উইন্ডোতে খালি খোলা থাকলেও আপনি একই বাফারের একাধিক অবস্থান দেখতে এবং সম্পাদনা করতে পারেন। তবে হ্যাঁ, স্বাধীন সংকীর্ণকরণ, ভাঁজ করা ইত্যাদি আমার মতে একটি পরোক্ষ বাফারের শক্তিশালী বৈশিষ্ট্য।
দক্ষ মোদী

5
একাধিক মোডের সাথে একই বাফারটি সম্পাদনা করুন (সংকীর্ণের সাথে অপ্রত্যক্ষ বাফার একত্রিত করুন)। আপনি মার্কডাউন মোডের সাথে বাফারের কিছু অংশ সম্পাদনা করতে পারবেন, পাইথন মোডগুলির সাথে একটি অংশ,
জসন

আপনি একা একাধিক উইন্ডোজ ব্যবহার করে একাধিক অবস্থান দেখতে পাচ্ছেন, তবে যেহেতু এই পরিস্থিতিতে পয়েন্টটির একমাত্র মূল্য রয়েছে তাই বাফারগুলি স্যুইচ করা উভয় উইন্ডোতে অবস্থানগুলি সংরক্ষণ করবে না, কেবল একটি।
রাজনীতি

9

একটি ব্যবহারের ক্ষেত্রে ফাইলের এক অংশে একটি আলাদা প্রধান মোড ব্যবহার করা হচ্ছে।

উদাহরণস্বরূপ আমি এক সময় কিছু উপাদানগুলির মধ্যে কোড সহ এক্সএমএল ডকুমেন্টের সাথে কাজ করছিলাম। আমি পুরো ডকুমেন্টটি এটি এক্সএমএল হিসাবে সম্পাদনা করতে সক্ষম হতে চেয়েছিলাম, তবে এখনও প্রোগ্রামিং ভাষার জন্য সমস্ত প্রধান মোড বৈশিষ্ট্য নির্দিষ্ট উপাদানগুলিতে এম্বেড করা আছে, তাই আমি সেই উপাদানগুলির দেহের সংক্ষিপ্ত করে একটি পরোক্ষ বাফারে যা চলমান ছিল I উপযুক্ত প্রধান মোড।

আমার কনফিগারেশনের একটি ফাংশন এখানে আমি এটি করতে ব্যবহার করি:

(defun indirect-region (start end)
  "Edit the current region in another indirect buffer.
    Prompt for a major mode to activate."
  (interactive "r")
  (let ((buffer-name (generate-new-buffer-name "*indirect*"))
        (mode (intern
               (completing-read
                "Mode: "
                (mapcar (lambda (e)
                          (list (symbol-name e)))
                        (apropos-internal "-mode$" 'commandp))
                nil t))))
    (pop-to-buffer (make-indirect-buffer (current-buffer) buffer-name))
    (funcall mode)
    (narrow-to-region start end)
    (goto-char (point-min))
    (shrink-window-if-larger-than-buffer)))

দ্রষ্টব্য: এটি নিখুঁত নয়, ফন্ট-লকের মতো জিনিসগুলির জন্য এই দৃশ্যে ব্যবহারের জন্য বিশেষ অতিরিক্ত কাজ প্রয়োজন।


3

অপ্রত্যক্ষ বাফারগুলি আপনাকে একই বাফারের একাধিক মতামত দেয়, বিশেষত একাধিক সংকীর্ণতা, যার প্রত্যেকটি বিভিন্ন ক্ষেত্রে আলাদা আলাদা বাফারের মতো কাজ করে।

লাইব্রেরির ভাষ্য হিসাবে narrow-indirect.elবলা হয়েছে:

আপনি যা ভাবেন তার চেয়ে অপ্রত্যক্ষ বাফার ব্যবহার করতে পারেন। আপনি ডায়ার্ড বাফারগুলির অংশ থেকে নেওয়া ক্লোনগুলি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, ডিরেক্টরি তালিকাতে আপনাকে দরকারী (সক্রিয়) দর্শন দেওয়ার জন্য। কেবলমাত্র কয়েকটি কী / কমান্ড রয়েছে (যেমন gতালিকা আপডেট করার মতো ) যা কাজ করে না, কারণ তারা পুরো ডায়ার্ড বাফারের একটি দৃশ্যের উপর নির্ভর করে। পরীক্ষা করুন এবং আপনি পরোক্ষ বাফারদের জন্য সন্দেহজনক নতুন ব্যবহারগুলি খুঁজে পেতে পারেন।

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