কীভাবে 2 উইন্ডোজ ইম্যাকগুলিতে বাফারগুলি অদলবদল করা যায়


98

আমি ইমাস ব্যবহার করছি আমি দেখতে পাই যে মাঝে মাঝে আমার 2 টি ফাইল 2 উইন্ডোতে বিভক্ত হয়।

উদাহরণস্বরূপ: আমি 1 টি ফাইল ব্যবহার করে খুলি C-x C-f file1.c RET

এবং আমি ফ্রেমে দুটি উইন্ডোতে বিভক্ত করেছি: C-x 3

আমি তখন অন্য একটি ফাইল খুলি C-x C-f file2.c RET

সুতরাং আমার কাছে দুটি ফাইল রয়েছে:

উইন্ডো 1 (বাম) file1.c

উইন্ডো 2 (ডান) file2.c

আমি ভাবছি ফাইলগুলি অদলবদলের জন্য কী কী সংমিশ্রণ রয়েছে? সাধারণত আমার 2 টি উইন্ডো থাকাকালীন আমি বাম উইন্ডোতে কাজ করতে পছন্দ করি। আমি জানি আমি সহজেই C-x oकर्सरটি ডান উইন্ডোতে স্থানান্তর করতে পারি ।

যাইহোক, আমি কেবল ভাবছি যে আমি কীভাবে ফাইলগুলি অদলবদল করতে পারি file2.cযা বাম উইন্ডোতে রয়েছে এবং file1.cডান উইন্ডোতে আছে?


এটিও কাজ করে (ইমাস 24 এ পরীক্ষিত): দুটি বাফার ট্রান্সপোস করা বাহ্বরের উত্তরের সাথে অনুরূপ বলে মনে হচ্ছে
ভাগ্নে

উত্তর:


88

আমি এর জন্য বাফার-মুভ ব্যবহার করি । এখন আপনি যদি বাম পাশের বাফারে কাজ করছেন, 'বুফ-মুভ-ডান' কল করে ডানদিকের সাথে এটি স্যুইপ হবে। আমার ধারণা আপনি এটি চান


এই সমাধানটি নিখুঁত, এবং মন্তব্যগুলি খুব স্পষ্ট - কেবল আপনি সেগুলি পড়েছেন তা নিশ্চিত করুন :)
মার্টিন ক্লার্ক

4
আপনি যদি কেবল উইন্ডোজ অদলবদল করতে চান (নির্বাচিত একটিতে স্বতন্ত্র), আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন(defun win-swap () "Swap windows using buffer-move.el" (interactive) (if (null (windmove-find-other-window 'right)) (buf-move-left) (buf-move-right)))
mefiX

বাফার-মুভটি কেবলমাত্র দুটি উইন্ডোজের বিন্যাস নিয়ে আমার পক্ষে কাজ করে নি তবে win-swapএটি ঠিক কাজ করেছে, ধন্যবাদ!
ডলজেনকো

4
যে বাফার-পদক্ষেপ উৎস ইনসাইড আপনার জন্য সব গুরুত্বপূর্ণ ম্যাপিং সম্পর্কে একটি মন্তব্য দেখতে পাবেন C-S-upকরার buf-move-upইত্যাদি
মীখা ইলিয়ট

34

TRANSPOSE ফ্রেম গ্রন্থাগার আলোকসম্পাতের বা ফ্রেম উইন্ডো ব্যবস্থা আবর্তিত জন্য ফাংশন একটি প্রশংসনীয় ব্যাপক সেট প্রদান করে।

M-x flop-frame RET এই নির্দিষ্ট প্রশ্নের যা প্রয়োজন তা করে।

নিম্নলিখিত চিত্রগুলি লাইব্রেরির ভাষ্য (এবং এটির ইমাসউইকি পৃষ্ঠা) থেকে রয়েছে:

‘transpose-frame’ … Swap x-direction and y-direction

       +------------+------------+      +----------------+--------+
       |            |     B      |      |        A       |        |
       |     A      +------------+      |                |        |
       |            |     C      |  =>  +--------+-------+   D    |
       +------------+------------+      |   B    |   C   |        |
       |            D            |      |        |       |        |
       +-------------------------+      +--------+-------+--------+

‘flip-frame’ … Flip vertically

       +------------+------------+      +------------+------------+
       |            |     B      |      |            D            |
       |     A      +------------+      +------------+------------+
       |            |     C      |  =>  |            |     C      |
       +------------+------------+      |     A      +------------+
       |            D            |      |            |     B      |
       +-------------------------+      +------------+------------+

‘flop-frame’ … Flop horizontally

       +------------+------------+      +------------+------------+
       |            |     B      |      |     B      |            |
       |     A      +------------+      +------------+     A      |
       |            |     C      |  =>  |     C      |            |
       +------------+------------+      +------------+------------+
       |            D            |      |            D            |
       +-------------------------+      +-------------------------+

‘rotate-frame’ … Rotate 180 degrees

       +------------+------------+      +-------------------------+
       |            |     B      |      |            D            |
       |     A      +------------+      +------------+------------+
       |            |     C      |  =>  |     C      |            |
       +------------+------------+      +------------+     A      |
       |            D            |      |     B      |            |
       +-------------------------+      +------------+------------+

‘rotate-frame-clockwise’ … Rotate 90 degrees clockwise

       +------------+------------+      +-------+-----------------+
       |            |     B      |      |       |        A        |
       |     A      +------------+      |       |                 |
       |            |     C      |  =>  |   D   +--------+--------+
       +------------+------------+      |       |   B    |   C    |
       |            D            |      |       |        |        |
       +-------------------------+      +-------+--------+--------+

‘rotate-frame-anti-clockwise’ … Rotate 90 degrees anti-clockwise

       +------------+------------+      +--------+--------+-------+
       |            |     B      |      |   B    |   C    |       |
       |     A      +------------+      |        |        |       |
       |            |     C      |  =>  +--------+--------+   D   |
       +------------+------------+      |        A        |       |
       |            D            |      |                 |       |
       +-------------------------+      +-----------------+-------+

4
flop-frameউইন্ডোগুলির মধ্যে বিভাজনটি উলম্ব হলেই কাজ করে, আপনার প্রয়োজন অনুভূমিক বিভাজনের জন্য flip-frame। তবে rotate-frameনির্বিশেষে কাজ করে; একটি বিভাজন দুটি উইন্ডোর মধ্যে অদলবদল করার জন্য একটি কমান্ড, বিভক্ত দিকনির্দেশনা যাই হোক না কেন :)
কিংবদন্তি 2k

34

ইম্যাক্স 26.1 NEWS ফাইলে নিম্নলিখিত প্রবেশদ্বার রয়েছে:

+++
*** New command 'window-swap-states' swaps the states of two live
windows.

কোনটি একই ধরণের কার্যকারিতার প্রস্তাব দেয় crux-transpose-windowsতবে কিছু উচ্চতা / প্রস্থের স্থানান্তরও করতে পারে?


হ্যাঁ, এটি কাজ করে। আমার Emacs> 26.1 আছে। M-x window-swap-statesদুটি উইন্ডোর মধ্যে বাফার অদলবদল।
সম্রাট দেব্রয়

16

আপনি যদি প্রিলিড ব্যবহার করছেন তবে আপনি কেবল C-c s( prelude-swap-windows) ব্যবহার করতে পারেন । প্রিলিওড ডকুমেন্টেশন থেকে:

C-c sকমান্ড রান crux-swap-windows(পাওয়া prelude-mode-map), যা একটি ওরফে হয় crux-transpose-windowsমধ্যে crux.el


উপস্থাপনাটি মুখমণ্ডলের মতো দেখাচ্ছে (এবং এটি কোথাও প্যাকেজড নয় - curl | sh= ডাব্লুটিএফ?) তবে ক্রুস অবশ্যই দেখতে সুন্দর দেখাচ্ছে এবং বেশ কিছু জিনিস আমি নিজেই প্রথম স্থানটিতে নিয়ে এসেছি।
আনারকেট

আমি জানি কী curl | sh, আমি যা বলছি তা খারাপ।
আনারক্যাট

11

আমি কোনও বিল্ট-ইন ফাংশনটি সম্পর্কে সচেতন নই।

তবে এটি করার জন্য কিছুটা বাদ দেওয়া খুব কঠিন বলে মনে হচ্ছে না। শয়তান যদিও বিশদে আছে।

(defun swap-buffers-in-windows ()
  "Put the buffer from the selected window in next window, and vice versa"
  (interactive)
  (let* ((this (selected-window))
     (other (next-window))
     (this-buffer (window-buffer this))
     (other-buffer (window-buffer other)))
    (set-window-buffer other this-buffer)
    (set-window-buffer this other-buffer)
    )
  )

উল্লেখযোগ্যভাবে, ক্যারেটটি যেখানে শেষ হয়েছে সেখানে শ্রদ্ধার সাথে আপনি যা ইচ্ছা করছেন এটি এটি করছেন না। যাইহোক, আপনি প্রথমে যা চান তা বলতে হবে: পি


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

ওহ, দুঃখিত, এটি কিছু করে, এটি ইমাস উইন্ডোর উপরের এবং নীচের অংশগুলিকে অদলবদল করে। আমি এটি ফ্রেম অদলবদল করার প্রত্যাশা ছিল।

ঠিক আছে. আপনি আমাকে বিভ্রান্ত করছেন আপনি Cx 3 উল্লেখ করেছেন এটি 2 ইমাস্যাক ফ্রেম নয় 2 ইমাস্যাক উইন্ডো তৈরি করা। আপনি ফ্রেম বা উইন্ডো ব্যবহার করছেন? আপনি উইন্ডোজকে কী বলে এবং আপনি ফ্রেমকে কী বলে?
বাহবার

এছাড়াও, আপনি উপরের এবং নীচের অংশগুলি সম্পর্কে কথা বলেন নি। আপনার কি একবারে 2 টিরও বেশি বাফার প্রদর্শিত হচ্ছে?
বাহবার

আমি সেই ব্যক্তি নই যে প্রশ্নটি জিজ্ঞাসা করেছিল, আমি কেবল একজন ইন্টার্লোপার। আমি এই প্রশ্নটি দেখার আগে আমি কখনই সিএক্স 3 ব্যবহার করি নি, তবে আপনি যেমনটি বলেছিলেন এটি একটি নতুন ফ্রেম তৈরির পরিবর্তে ইমাস উইন্ডোকে বিভক্ত করে তোলে।

1

আপনার যদি উপস্থাপনা থাকে তবে আপনি এস-উইন্ডোটি ব্যবহার করতে পারেন S-w। সেখান থেকে আপনি তাদের ডক্সে তালিকাভুক্ত অনেকগুলি কাজ করতে পারেন ।

আপনি এস-উইন্ডো কল করে এবং তারপর মুছে ফেলতে বা অদলবদল করতে অ্যাকশনটি স্যুইচ করার সিদ্ধান্ত নিতে পারেন ইত্যাদি ডিফল্টরূপে বাইন্ডিংগুলি হ'ল:

এক্স - উইন্ডো মুছুন

m - অদলবদল (সরানো) উইন্ডো

সি - উল্লম্ব বা অনুভূমিকভাবে মোটামুটি উইন্ডো বিভক্ত করুন

v - উইন্ডোটি উল্লম্বভাবে বিভক্ত করুন

খ - অনুভূমিকভাবে বিভক্ত উইন্ডো

n - পূর্ববর্তী উইন্ডোটি নির্বাচন করুন

...

তাই হবে S-w m


স্পেসম্যাকস ব্যবহারকারীদের জন্য, ace-swap-windowআবদ্ধ SPC w M। এই কার্যকারিতা ডিফল্ট হিসাবে উপলব্ধ।
ক্লাদিও

0

নিম্নলিখিত কোড স্নিপেটটি সুইফ বাফার করতে পারে।

(defun ab/switch-buffer-each-other (arg)
  "switch current buffer with other window buffer 
   right-2-left and up-2-down"
  (interactive "p")
  (cond
   ((windmove-find-other-window 'right) (buf-move-right))
   ((windmove-find-other-window 'left) (buf-move-left))
   ((windmove-find-other-window 'up) (buf-move-up))
   ((windmove-find-other-window 'down) (buf-move-down)))
(message "switch buffer done"))

-1

আমি কাঙ্ক্ষিত স্থানে ফাইল # 2 খোলার পক্ষে সমর্থন করব, অর্থাৎ আপনি সিক্স 3 চাপার পরে, দ্বিতীয় ফাইলটিতে নেভিগেট করার আগে কার্সারটিকে সিক্স ও দিয়ে সরিয়ে ফেলুন।

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