আমি কীভাবে বুদ্ধিমান স্প্লিট-উইন্ডো নীতি পেতে পারি?


15

ইমাসগুলি ক্রমাগতভাবে নতুন উইন্ডোজ তৈরি করছে এবং এটি আমার দিনটিকে ইদানীং নষ্ট করছে। উইন্ডো তৈরি করার সময় আমি কীভাবে নীচের নীতিটি ব্যবহার করতে ইম্যাক্সকে বলতে পারি?

  • উল্লম্ব বিভাজন পছন্দ করুন
  • উইন্ডোজ ৮০ কলামের চেয়ে কম হলে উল্লম্ব স্প্লিটগুলি করা বন্ধ করুন।
  • উইন্ডোটি 60 টি সারির চেয়ে কম হলে অনুভূমিক বিভাজনগুলি বন্ধ করুন।
  • আমি যখন আমার 27 "মনিটরে 6x6 গ্রিডে পৌঁছেছি তখন উইন্ডোজগুলির পুনরায় ব্যবহার শুরু করুন!

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


কি অপারেশনগুলি বিভক্ত উইন্ডো তৈরি করছে?
অ্যান্ড্রু সোয়ান

আমি বেশিরভাগ ক্লোজার প্রোগ্রামিং করছি ইদানীং তাই সিডার কমান্ডগুলি যেমন: সাইডার-টেস্ট-রান-
টেস্টস

1
বেশিরভাগ লোক সোর্স কোড খোলার বিষয়ে আগ্রহী নয় - যেমন, সিডার- স্টাফ - এটি তাদের প্রয়োজন অনুসারে কাস্টমাইজ করতে। পরিবর্তে, তারা কাস্টমাইজ করার মতো সাধারণ সমাধানগুলি সন্ধান করে display-buffer-alist। অন্যরা কেবল প্রোগ্রামের পরে এটিকে ঠিক করার পরে ঠিক করেন - যেমন, delete-windowএবং switch-to-buffer, উল্লম্ব / অনুভূমিকভাবে বিভক্ত এবং আরও অনেক কিছু। এবং, উইন্ডোজ পরিচালনা করতে এবং / অথবা পূর্ববর্তী লেআউটে ফিরে যেতে সহায়তা করতে কিছু অতিরিক্ত গ্রন্থাগার রয়েছে। আমি প্রথম বিকল্পটি পছন্দ করি - অর্থাত্ উত্সটি পরিবর্তন করুন এবং একে একে নিখুঁত করে তুলুন, তবে আমি বিরল সংখ্যালঘু মানুষের মধ্যে আছি।
আইনজীবি

5
উইন্ডো-বিভাজন সম্পর্কিত ম্যানুয়ালটিতে বিভাগটি দেখুন - split-height-thresholdএবং split-width-threshold- gnu.org/software/emacs/manual/html_node/emacs/…
আইনজীবি

1
দেখে মনে হচ্ছে আপনি খুব জেনেরিক কন্ডিশনের সাথে একটি কাস্টম অ্যাকশন ফাংশনটি সংজ্ঞায়িত করতে চান display-buffer-alist। দেখুন display-bufferএই ধরনের একটি কর্ম ফাংশন প্রয়োজনীয়তা (এবং মান ফাংশন, কোড যার জন্য আপনি পরীক্ষা করতে পারেন, তালিকা) জন্য, কিন্তু এটা যেটা পদ্ধতিতে বাফার প্রদর্শনের জন্য দায়ী থাকবে আপনি এখন ইচ্ছা (এবং অবশ্যই পরে জানালা সামঞ্জস্য বজায় রাখা যাবে) ।
ফিলস

উত্তর:


3

কিছুটা দেরি হয়ে গেছে, তবে কারণ আমি এটিও অনুসন্ধান করেছি এবং এর জন্য প্রস্তুত সমাধান খুঁজে পেলাম না:

আপনি আপনার নিজের split-window-sensiblyফাংশনটি সংজ্ঞায়িত করতে পারেন ।
এটি করতে, আপনার মধ্যে নিম্নলিখিতটি লিখুন init.el:

(setq split-height-threshold 120
      split-width-threshold 160)

(defun my-split-window-sensibly (&optional window)
    "replacement `split-window-sensibly' function which prefers vertical splits"
    (interactive)
    (let ((window (or window (selected-window))))
        (or (and (window-splittable-p window t)
                 (with-selected-window window
                     (split-window-right)))
            (and (window-splittable-p window)
                 (with-selected-window window
                     (split-window-below))))))

(setq split-window-preferred-function #'my-split-window-sensibly)

দ্রষ্টব্য: প্রান্তিকের ক্ষুদ্রতম উইন্ডোর দ্বিগুণ বড় হওয়া দরকার, কারণ নতুন উইন্ডোজ প্রতিটি পূর্বের উইন্ডোর আকারের অর্ধেক ব্যবহার করে।
শেষ লাইনটি ইম্যাক্সকে সংজ্ঞায়িত বিভক্ত ফাংশনটি ব্যবহার করতে বলে।


2

আমি দীর্ঘদিন ধরে নিম্নলিখিতগুলি ব্যবহার করছি। আপনার নিজের পছন্দসই স্টাইলটি সামঞ্জস্য করতে আপনার এটি সম্পাদনা করতে হতে পারে।

;; ------------------------------------------------------------------
;; display-buffer

;; The default behaviour of `display-buffer' is to always create a new
;; window. As I normally use a large display sporting a number of
;; side-by-side windows, this is a bit obnoxious.
;;
;; The code below will make Emacs reuse existing windows, with the
;; exception that if have a single window open in a large display, it
;; will be split horisontally.

(setq pop-up-windows nil)

(defun my-display-buffer-function (buf not-this-window)
  (if (and (not pop-up-frames)
           (one-window-p)
           (or not-this-window
               (not (eq (window-buffer (selected-window)) buf)))
           (> (frame-width) 162))
      (split-window-horizontally))
  ;; Note: Some modules sets `pop-up-windows' to t before calling
  ;; `display-buffer' -- Why, oh, why!
  (let ((display-buffer-function nil)
        (pop-up-windows nil))
    (display-buffer buf not-this-window)))

(setq display-buffer-function 'my-display-buffer-function)

0

এটি আপনাকে উল্লম্ব বিভাজন পছন্দ করবে

(setq split-width-threshold 1)

0

(setq split-height-threshold nil) (setq split-width-threshold 200)

  • split-height-thresholdমূলত কখনই অনুভূমিকভাবে বিভাজন করতে চান না তা সেট করে
  • 200 উচ্চ-পর্যাপ্ত সংখ্যার মতো মনে হচ্ছে যে এমনকি বড় বাহ্যিক ডিসপ্লেতে ইমাকগুলি কেবল একবারে একবারে পৃথক হবে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.