আমি foo.barইমাসে ফাইলটি দু'বার (বা আরও) খুলতে চাই , যাতে আমি এটির দুটি পৃথক অংশ একসাথে সম্পাদনা করতে পারি। এটা কি সম্ভব? সম্ভবত আরও ভাল প্রশ্ন, এটি কিভাবে করবেন? প্রতিটি বাছুর নিজস্ব বাফার / ফ্রেমে খোলার কোনও উপায় আছে কি?
আমি foo.barইমাসে ফাইলটি দু'বার (বা আরও) খুলতে চাই , যাতে আমি এটির দুটি পৃথক অংশ একসাথে সম্পাদনা করতে পারি। এটা কি সম্ভব? সম্ভবত আরও ভাল প্রশ্ন, এটি কিভাবে করবেন? প্রতিটি বাছুর নিজস্ব বাফার / ফ্রেমে খোলার কোনও উপায় আছে কি?
উত্তর:
আপনি একাধিক উইন্ডোতে একই বাফারটি খুলতে পারেন (যা বিভিন্ন ফ্রেমের মধ্যে ছড়িয়ে দেওয়া যেতে পারে) তবে এটি খুব সুবিধাজনক নয়। প্রতিটি উইন্ডোর নিজস্ব পয়েন্ট থাকে তবে তারা সকলেই চিহ্ন, ফাইল মোড, সংকীর্ণ এবং অন্যান্য বৈশিষ্ট্যগুলি ভাগ করে, কারণ বিন্দুটি ছাড়াও সমস্ত বৈশিষ্ট্য বাফারের সাথে আবদ্ধ tied এছাড়াও, যদি আপনি একটি উইন্ডোতে অন্য বাফারটি দেখতে যান তবে আপনি ফাইলটিতে নিজের স্থান হারাবেন।
আপনি একটি অপ্রত্যক্ষ বাফার তৈরি করতে পারেন যার নিজস্ব পয়েন্ট, চিহ্ন, মোড এবং আরও কিছু রয়েছে তবে মূল বাফারের মতো একই বিষয়বস্তু (এবং বাফার উভয়কেই একই ফাইলে লিখলে সংরক্ষণ করা যায়)। বর্তমান বাফারের ক্লোন যা দ্বিতীয় বাফার তৈরি করতে, চালান M-x clone-indirect-buffer RET। একটি দ্বিতীয় উইন্ডোতে দ্বিতীয় বাফারটি খুলতে, আপনি টাইপ করতে পারেন C-x 4 c।
C-x 4 cরান হয় clone-indirect-buffer-other-window, সুতরাং এই clone-indirect-bufferআদেশটি অনুসরণ না করে পরিবর্তে এটি ব্যবহার করা হবে । যাইহোক, আমার সিস্টেমে, এই দুটি আদেশই একই কাজ করে।
C-x 4জানালা প্রিফিক্স, cজন্য ক্লোন । আপনি যদি পছন্দ করেন তবে আপনি অন্যান্য বাইন্ডিংগুলি সংজ্ঞায়িত করতে পারেন। C-x cডিফল্ট কনফিগারেশনে ব্যবহৃত হয় না, আপনি যদি এটির C-x C-cপরিবর্তে দুর্ঘটনাক্রমে আঘাত হানার ভয় না পান তবে আপনি এটি ব্যবহার করতে পারেন । আমি C-x 5 cআমার init ফাইলটিতে একটি নতুন ফ্রেমে ক্লোন করতে সংজ্ঞায়িত করেছি।
বিভক্ত স্ক্রিন মোড: যেখানে ctrl+ এর xঅর্থ সিআরটিএল কী টিপুন এবং ধরে রাখুন এবং একটি এক্স টাইপ করুন। তারপরে নিম্নলিখিত নম্বরটি টাইপ করুন।
ctrl+ x2 (অনুভূমিক বিভাজন)
অথবা
ctrl+ x3 (উল্লম্ব বিভাজন)
তারপরে আপনি এগুলিকে একই ফাইলটিতে স্বতন্ত্রভাবে স্ক্রোল করতে পারেন বা যদি আপনি তাদের মধ্যে চান তবে অন্য একটি বাফার খুলতে পারেন।
একক দৃশ্যে ফিরে যেতে return
ctrl+ x1
আপনি যদি চান তবে প্রতিটি স্ক্রিন (বিভাগ) যতবার প্রয়োজন ততবার বিভক্ত করতে পারেন। আপনি প্রথমে যে স্ক্রিনটি বিভক্ত করতে চান সেটি নির্বাচন করুন এবং তারপরে এটির উপর একটি অনুভূমিক বা উল্লম্ব বিভাজন করুন।
C-x oচলে other-windowএবং চক্রগুলি। (Emacs কনফিগারেশন ব্যবহার করে যেখানে উইন্ডো ম্যানেজার উইন্ডোগুলিকে ফ্রেম বলা হয়, এবং তাদের অভ্যন্তরের পৃথক প্যানেলগুলিকে উইন্ডোজ বলা হয় (আমি জানি, আমি জানি তবে এর জন্য আমি দায়বদ্ধ নই))
ইমাকগুলি ফ্রেমে নয়, প্যানগুলিতে (উইন্ডো) পক্ষপাতদুষ্ট। একই ফ্রেমটিতে কেবলমাত্র অন্য একটি উইন্ডো নয়, অন্য ফ্রেমে একই বাফারটি প্রায়শই খোলা যায়। তবে C-x 5 cডিফল্টভাবে আনবাউন্ড হয়। এই কোড অনুপস্থিত clone-indirect-buffer-other-frameফাংশন সংজ্ঞায়িত :
(global-set-key [?\C-x ?5 ?c]
'(lambda(newname display-flag)
"Like `clone-indirect-buffer-other-window' but display in another frame."
(interactive
(progn
(if (get major-mode 'no-clone-indirect)
(error "Cannot indirectly clone a buffer in %s mode" mode-name))
(list (if current-prefix-arg
(read-buffer "Name of indirect buffer: " (current-buffer))) t)))
(save-window-excursion
(let ((newbuf (clone-indirect-buffer newname display-flag)))
(switch-to-buffer-other-frame newbuf)
)
)
)
)