আমি কীভাবে আইফুফারটিকে বাফারগুলির তালিকাটি স্বতঃ-রিফ্রেশ করতে পারি?


11
  1. M-x ibuffer
  2. একটি বাফার নির্বাচন করুন
  3. যে বাফার হত্যা

বাফারটি মারা যাওয়ার পরে, আইফার বাফারটি আবার উপস্থিত হয়, তবে এটি এখনও তৃতীয় ধাপে মারা যাওয়া বাফার নামটি দেখায়।

আইফুফার বাফারগুলির তালিকাটি অটো-রিফ্রেশ করা সম্ভব?


আপনি যদি আইফুফারে আবার Ctrl-x Ctrl-b টিপেন তবে এটি স্বতঃসজ্জা করে।
ofenerci

@ ফেনেরসি আমার জন্য (v25.2.2) সিক্স সিবি বর্তমান বাফার তালিকাসহ একটি অতিরিক্ত উইন্ডো * বাফার তালিকা * খোলে, তবে * আইবুফার * অপরিবর্তিত রয়েছে
ব্যবহারকারী 2740

উত্তর:


13

ibuffer-auto-modeএকটি আইবুফার বাফারে কমান্ডটি চালানো প্রতিটি ইন্টারেক্টিভ কমান্ডের পরে প্রদর্শনটি সতেজ করে তোলে।

এটি স্বয়ংক্রিয়ভাবে সক্রিয় করার কোনও সরাসরি উপায় বলে মনে হচ্ছে না। আপনি এটি আপনার init ফাইলটিতে রাখতে পারেন:

(add-hook 'ibuffer-mode-hook (lambda () (ibuffer-auto-mode 1)))

1
এই গৃহীত সমাধানটি অন্যান্য বাফারটিতে নির্বাচনকে ভেঙে দেয়। যখন আমি সেই হুক সক্ষম করি, আমি যদি কোনও বাফারে একটি নির্বাচন করি, তবে প্রার্থনা কর ibuffer, নির্বাচনটি নষ্ট হয়ে যায়।
ভাগ্নে

8

এটি করার সঠিক উপায় হ'ল সমর্থনটি চালু ibufferকরা auto-revert-mode। এই buffer-stale-functionবাফারগুলির জন্য সংজ্ঞা দিয়ে এটি অর্জন করা যেতে পারে । যুক্তিযুক্তভাবে, যেহেতু buffer-menufeature বৈশিষ্ট্যটি সমর্থন করে, এটির জন্য ibufferএটিও প্রবাহের পক্ষে ভাল হবে তবে এটি আপাতত তেমনটি বলে মনে হয় না।

যাইহোক, এখানে এটি করার একটি উপায়:

(defun my-ibuffer-stale-p (&optional noconfirm)
  ;; let's reuse the variable that's used for 'ibuffer-auto-mode
  (frame-or-buffer-changed-p 'ibuffer-auto-buffers-changed))

(defun my-ibuffer-auto-revert-setup ()
  (set (make-local-variable 'buffer-stale-function)
       'my-ibuffer-stale-p)
  (set (make-local-variable 'auto-revert-verbose) nil)
  (auto-revert-mode 1))

(add-hook 'ibuffer-mode-hook 'my-ibuffer-auto-revert-setup)

দ্রষ্টব্য: সাধারণভাবে, একটির জন্য একটি মান নির্ধারণ করা প্রয়োজন revert-buffer-function, তবে ibufferইতিমধ্যে এটি (এটি সেট করা আছে ibuffer-update) করে


1
এই পদ্ধতির চেয়ে বেশি পছন্দ করার কোনও কারণ আছে কি ibuffer-auto-mode?
নিসপিও

1
ভাল auto-revert-modeটাইমার ব্যবহার করে, এবং ibuffer-auto-modeব্যবহার করে post-command-hook, তাই একটি সুস্পষ্ট পার্থক্য আছে ; তবে অফহ্যান্ড আমি বলতে পারছিলাম না যে একজনের অপরটির চেয়ে ভাল ছিল।
ফিল্ডস

4
@ স্প্যানিও আমার ধারণা আমি অ্যাড-হককে জেনেরিক সমাধান পছন্দ করি। সুতরাং সেই অর্থে, ibufferবাফারগুলি তৈরি করা অন্যদের মতো আচরণ করে যখন তা সতেজ হওয়া সেকেলে বিষয়বস্তু আমার কাছে আরও পরিস্কার মনে হয়। এছাড়াও, আমি সাধারণত post-command-hookএইভাবে অপব্যবহার করা অপছন্দ করি : আপনি যখন বাফারে পুরোপুরি সম্পর্কিত নয় এমন কিছু করেন তখন সত্যিই ওভারকিল হয়। পরিশেষে, যদি বিষয়বস্তুকে রিফ্রেশ করার জন্য কোনও ধরণের কীস্ট্রোকের প্রয়োজন হয় তবে এটি হতে পারে gযা সামগ্রী আপডেট করার সুস্পষ্ট উপায়। তবে মঞ্জুর, এটি সম্ভবত একটি দার্শনিক সমস্যা :)
সিগমা

1
আমি যখন এই পদ্ধতিটি ব্যবহার করি তখন আমি একটি বার্তা পেতে থাকি Reverting buffer `*Ibuffer*'. বার্তাটি অন্তর্ভুক্তকারী কারণ আমি মিনিবাসে কাজ করার সময় এটি আমাকে বাধা দেয়। বার্তাটি প্রদর্শিত হবে ibufferবাফারটি দৃশ্যমান কিনা ।
নিসপিও

1
@ স্প্যানিশ (setq auto-revert-verbose nil), সম্ভাব্য স্থানীয়ভাবে
সিগমা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.