मैं बफ़र्स को जल्दी कैसे स्विच करूं?


67

वेनिला एमएसीएस में, मुझे करना होगा C-x bऔर फिर मैन्युअल रूप से स्विच करने के लिए बफर नाम टाइप करना होगा। यदि मैं बफ़र का नाम भूल जाता हूं, तो मुझे TABसंभावित पूर्णताओं को सूचीबद्ध करने के लिए हिट करना होगा। क्या इस प्रक्रिया को तेज करने के लिए मैं कुछ भी कर सकता हूं?


10
इसे चिह्नित किया जाना चाहिए सामुदायिक विकी। लेकिन Emacs के पास पहले से ही एक विशाल विकि है। उदाहरण के लिए, मेरा शीर्ष Google परिणाम स्विचिंग बफ़र्स पर यह पृष्ठ है । सीडब्ल्यू-शैली के प्रश्न मुझे महसूस करते हैं, विशेष रूप से emacs.SE पर जगह से बाहर।
पर्पल_अर्स

1
मुझे C-x C-<left/right>बफ़र्स को जल्दी से स्विच करना पसंद है । जब "दूर" बफर में स्विच करने की आवश्यकता होती है, तो मैं उपयोग करता हूं IBuffer
कुयानुई

मैं 'Cx x' का उपयोग बफ़र्स को बदलने के लिए करता हूं (हेल्म के साथ और नियंत्रण के लिए कैप किए गए कैप के साथ)। मैंने कभी भी 'Cx b' टाइप करने में सहज महसूस नहीं किया।
wdkrnls


1
उत्तरों में से किसी एक समाधान का उपयोग करें और Cx b का उपयोग न करें। इस तरह के लगातार ऑपरेशन के लिए 3 चाबियाँ बहुत अधिक हैं। मैं व्यक्तिगत रूप से एक कुंजी, सही विंडोज़ कुंजी का उपयोग करता हूं जो मैं अन्यथा उपयोग नहीं करता हूं।
टॉम

जवाबों:


49

वहाँ आईडी मोड है कि मदद करनी चाहिए।

संपादित करें:

डिफ़ॉल्ट रूप से आईडी मोड को सक्रिय करने के लिए इसे अपनी इनिट फ़ाइल में रखें:

(ido-mode 1)

अब, C-x bआपको उम्मीदवारों की एक सूची दिखाएगा।

इसे अपनी इनिट फ़ाइल में रखें, यदि आप उन वस्तुओं को पसंद करते हैं जिन्हें लंबवत प्रदर्शित किया जा रहा है:

(setq ido-separator "\n")

एर्गमेकस के सौजन्य से

मुझे इस पोस्ट को पिछले / अगले बफर पर स्विच करने के बारे में बात करने का सुझाव भी दें ।


2
हमें संभवतः इस प्रश्न के उत्तर के रूप में उस पोस्ट की अधिकांश महत्वपूर्ण जानकारी प्राप्त करने का प्रयास करना चाहिए। इस तरह से भविष्य के उपयोगकर्ताओं को संभवतः मृत साइटों के लिए लिंक का पीछा नहीं करना पड़ेगा।
निक्सेगल

@nixeagle मैंने कुछ संपादन किए, मुझे आशा है कि सबसे महत्वपूर्ण सूचना मौजूद है।
नवसकमी _

जैसा कि अब पूरा हो गया है, मैं कुछ दिनों पहले आपकी प्रतीक्षा करूंगा, लेकिन जब तक कि मैं अलग-अलग और बेहतर उत्तरों के साथ आता हूं, तब तक इंतजार करूंगा। धन्यवाद!
nixeagle

@nixeagle यह कुछ भी नहीं है!
नूस्कामी _

1
@nixeagle क्या आपको बेहतर उत्तर मिला है?
Emacs यूजर

42

मैं हाल ही में उपयोग शुरू कर दिया है C-x <left>और C-x <right>। वे दोनों मानक Emacs बाइंडिंग हैं - कॉन्फ़िगर करने के लिए कुछ भी नहीं। लेफ्ट आपको पिछले बफर में ले जाता है (शुरुआत में जैसा है C-x b RET) लेकिन इसे फिर से करना आपको सबसे हाल ही में देखे गए 3 जी बफर में ले जाता है। यदि आप 3 या 4 बफ़र्स के बीच बहुत आगे-पीछे हो रहे हैं, तो मुझे बफ़र नाम याद रखने की कोशिश करने से बहुत आसान लगता है।

इसके अलावा, मैंने अभी-अभी पता लगाया है C-x C-<left>और C-x C-<right>समान कार्यों के लिए बाध्य हूं ताकि आप नियंत्रण कुंजी दबाए रख सकें और बफ़र्स के माध्यम से फ्लिप करने के लिए x और तीरों के बीच वैकल्पिक कर सकें। बहुत अच्छा!


4
मैं आपसे सहमत हुँ! मैं emacs का नवागंतुक हूं, और अतिरिक्त पैकेज और अभी तक अधिक-कॉन्फ़िगरेशन के साथ अतिभारित नहीं होना चाहता। यह समाधान मेरे लिए काम करता है! : D
akush981

Cx C- <left> और Cx C- <राइट> जीत के लिए! मैं सीएस / <बायें> / <दायें> से जुड़ा हुआ था। लेकिन किसी तरह मुझे Cx C टाइप करना और भी आसान लगता है, फिर दो मेटा कीज़ का उपयोग करना। सीएस प्रेस करने के लिए अजीब है।
डिडिएर ए।

अच्छा! मैंने एक हफ्ते पहले इन बाइंडिंग को सीखा, सोचा कि वे कितने भयानक थे, और फिर भूल गए कि वे क्या हैं। अब तक उन्हें एक सप्ताह तक नेट पर नहीं खोजा जा सका। धन्यवाद!
किरील यूनुसोव

40

आप हेल्म का उपयोग कर सकते हैं ।

मेरे सेटअप में, मैंने स्विच C-x bकिया है M-l। इसके साथ संबद्ध helm-buffers-list, प्रक्रिया को बहुत तेज बनाता है, कम से कम मेरे लिए।


यह मूल रूप से अब सबसे अच्छा जवाब है। बेशक, आप अभी भी उपयोग कर सकते हैं idoया iswitchbया iciclesउस तरह सामान,, लेकिन वे मूल रूप से पतवार द्वारा अप्रयुक्त है। हाँ, ace-jump-bufferशांत है, लेकिन यह हेल्म के रूप में तेज़ नहीं है, क्योंकि इससे पहले कि आप जानते हैं कि किस कुंजी को दबाएं, आपको सूची में बफर ढूंढना होगा। हेलम आपको कुछ कीस्ट्रोक्स के साथ सूची को संकीर्ण करने देता है जिसे आप पहले से जानते हैं (जैसे बफर का नाम)। मैं C-TABबफ़र स्विच करने के लिए उपयोग करता हूं , हाल की फ़ाइलों को लोड करना, बुकमार्क करना, आदि कुछ भी तेज नहीं है।
ब्लुजै

4
के लिए +1 helm। लेकिन मैं उपयोग करना पसंद करता हूं helm-mini, जो आपको दिखाता Recentfहै helm-buffers-list
जून

1
साथ में आइवी भी है ivy-switch-buffer
ओलेक्सी फिलोनेंको

मुझे आईवी हेल ​​की तुलना में बहुत तेज लगती है, इसलिए मैं इसे हेल्म के ऊपर सलाह देता हूं।
डिडियर ए।

10

बस जुड़वाँ जोड़ने के लिए जिनका उपयोग मैं पहले से ही उल्लेखित घोड़ों के साथ करता हूँ :

(require 'ido)
(require 'ido-hacks)
(require 'flx-ido)
(require 'ido-vertical-mode)

(ido-mode 1)
(flx-ido-mode 1)
(ido-hacks-mode 1)
(ido-everywhere 1)
(ido-vertical-mode 1)

(setq ido-enable-flex-matching t
      ido-use-filename-at-point 'guess
      ido-vertical-define-keys 'C-n-C-p-up-down-left-right))

मैं भी दिखाई देने वाली खिड़कियों के बीच कूदने के लिए ace-windowबफ़र्स के बीच स्विच करने के लिए उपयोग कर रहा हूं । कुछ के साथ इस्तेमाल किया जा रहा है, लेकिन कोशिश करने के लायक है।ace-jump-mode

मैंने इसे त्वरित छलांग के साथ जोड़ा key-chord-modeऔर हिट soकिया:

(key-chord-define-global "so" 'ace-window)

उपरोक्त सभी पैकेज मेलपा से पैकेज मैनेजर के माध्यम से उपलब्ध हैं।


मैं बदलने के लिए अपने जवाब संपादित कर लिया है use-packageके साथ requireभ्रम की स्थिति को रोकने के लिए। दिए गए उदाहरण में, उस समाधान को लागू करने के लिए एक अतिरिक्त पैकेज स्थापित करने के लिए उपयोगकर्ता की कोई विशेष आवश्यकता नहीं है।
कौशल मोदी

1
मैं सुझाव देता हूं कि अंग्रेजी में अक्सर होने वाले अक्षर संयोजनों का उपयोग न करें (यह मानते हुए कि आप मुख्य रूप से अंग्रेजी में emacs में टाइप करते हैं) कुंजी-कॉर्ड के रूप में। मेरी राय में "तो" बहुत आसान है जब आप "इसलिए", "कुछ", "व्यक्तिगत", इत्यादि जैसे सामान टाइप कर रहे हैं, तो बहुत तेजी से टाइप करें।
कौशल मोदी

10

जैसा कि @kuanyui एक टिप्पणी में कहते हैं, next-bufferऔर previous-bufferबहुत जल्दी हैं, यदि आपके पास केवल कुछ बफ़र्स के बीच में चक्र करने के लिए है। (कुछ से अधिक के लिए, और अधिक बफर-चुनने की सुविधाओं के लिए, मैं उपयोग करता हूं icicle-buffer।)

हालांकि, डिफ़ॉल्ट रूप से, next-bufferऔर previous-bufferएक उपसर्ग कुंजी पर, कर रहे हैंC-x

इसका मतलब है कि वे दोहराए जाने योग्य नहीं हैं : आप सिर्फ हिट नहीं कर सकते C-x <right> <right> <right>...। इसके बजाय आपको इन आदेशों को अलग-अलग, दोहराने योग्य कुंजियों से बांधना चाहिए, या आपको C-x <right> C-x <right> C-x <right>...उनका उपयोग करना होगा , जो बहुत जल्दी नहीं है।

इन आदेशों के दोहराए जाने वाले संस्करणों के लिए, लाइब्रेरी लोड करें misc-cmds.elऔर वेनिला को रीमैप करें, वहां परिभाषित किए गए दोहराए जाने वाले संस्करणों के लिए अप्राप्य संस्करण:

(global-set-key [remap previous-buffer] 'previous-buffer-repeat)
(global-set-key [remap next-buffer]     'next-buffer-repeat)

(इसी प्रकार, उसी लाइब्रेरी में आपको undoएक उपसर्ग कुंजी पर भी दोहराए जाने का एक संस्करण मिलेगा :) undo-repeat


BTW, आप फ़ंक्शन (से ) का उपयोग करके बहुत अधिक किसी भी आदेश को दोहराए जा सकते हैं (यहां तक ​​कि एक उपसर्ग कुंजी पर )। यह वह सब है जिसे दोहराने योग्य संस्करण को परिभाषित करने की आवश्यकता थी :repeat-commandmisc-cmds.elnext-buffer

(defun previous-buffer-repeat ()
  "Switch to the previous buffer in the selected window.
You can repeat this by hitting the last key again..."
  (interactive)
  (require 'repeat nil t) ; Library `repeat.el' is in Emacs 22.1 and later
  (repeat-command 'next-buffer))

3
... या बस के लिए अगले / पिछले बफर बाँध C-,और C-.repeatability हासिल करने के लिए, और जब तुम वैसे भी उस पर कर रहे हैं, सेट C-x.और C-x,करने के लिए other-windowऔर (lambda()(interactive)(other-window -1))। साइकिल चलाने वाली खिड़कियों को शायद दोहराव कम चाहिए, और आप अतिरिक्त पैकेज के बिना एक मिनट में दूर हो जाते हैं।
एंड्रियास स्पिंडलर

2
@AndreasSpindler: आप निश्चित रूप से किसी भी आदेश को एक दोहराने योग्य कुंजी पर रख सकते हैं और इस प्रकार इसे दोहरा सकते हैं। ये मुद्दा नहीं है। बार-बार की जाने वाली चाबियां कम हैं, और अनबाउंड्स दुर्लभ हो रहे हैं। यह इस बारे में है कि जब उपसर्ग कुंजी पर है, तो कमांड को कैसे रिपीटेबल बनाया जा सकता है
ड्रयू

1
मैंने आपकी पोस्ट को अनसुना कर दिया, लेकिन इस धागे के विषय में कमोबेश "कैसे जल्दी से बफ़र्स स्विच करूँ?" का संदर्भ दिया। इस उद्देश्य के लिए मैंने आपके टिप का उपयोग किया next-bufferऔर previous-bufferसबसे अच्छा समाधान, किसी भी विशिष्ट कुंजी बंधन से स्वतंत्र रूप से। इसलिए मेरी टिप्पणी।
एंड्रियास स्पिंडलर

@AndreasSpindler: मिल गया; धन्यवाद।
आकर्षित किया

यह बहुत अच्छा है, मुझे कई बार दोहराए जाने वाले आदेशों की आवश्यकता होती है जब उनके पास उपसर्ग कुंजी होती है। उस ने कहा, मैंने Cx C-left और Cx C- दाएं को अगले / अगले बफर डिफॉल्ट पाया जो आपको पुराने C की अनुमति देता है, और बस x-बाएँ और x- दाएं को दोहराता है। जो डिफ़ॉल्ट के रूप में बहुत बुरा नहीं है।
डिडिएर ए।

9

मुझे आश्चर्य है कि iswitchbअभी तक किसी का उल्लेख नहीं किया गया है। यह उतना शक्तिशाली नहीं हो सकता है ido, लेकिन ido-modeपैदा होने से बहुत पहले iswitchb-modeही एमएसीएस के लिए मानक था, और यह आजकल भी उपयोगी है। इसे बस आजमाने के लिए

(iswitchb-mode 1)

अपने .emacs में या के माध्यम से सक्रिय करें M-x iswitchb-mode


4
iswitchb24.4 Emacs के रूप में अप्रचलित है। इसकी सारी कार्यक्षमता idoअब उपलब्ध है ।
टायलर

4
@ टायलर मुझे इसविच की डिफॉल्ट लुक ज्यादा अच्छी लगती है, क्योंकि यह ज्यादा कलरफुल, प्रेटियर है। हो सकता है कि ido को समान दिखने के लिए कॉन्फ़िगर किया जा सकता है, लेकिन iswitchb उपलब्ध होने के दौरान (कम से कम मेरे लिए) कोई मतलब नहीं है।
टॉम


6

दूसरों ने उन पैकेजों पर चर्चा की है जो बफर / विंडो / फ्रेम स्विचिंग के संबंध में जीवन को आसान बनाने के लिए उपयोगी हैं। (मैं व्यक्तिगत रूप से उपयोग helmकरता हूं जो अभूतपूर्व है।) मैं उन सरल परिवर्तनों पर चर्चा करना चाहता हूं जो अधिक सुखद Emacs अनुभव कर सकते हैं।

मेरे लिए, मेरे बफर / फ्रेम मुसीबतों का समाधान (क्योंकि मुझे लगता C-x oहै कि सबसे खराब है) पैकेज नहीं था; यह बस था:

  • मैपिंग C-;टू other-window(साइकिल चलाना खिड़कियों के माध्यम से)
  • मैपिंग C-'टू other-frame(साइकिलिंग फ्रॉम फ्रेम)। मैंने वास्तव में इस शॉर्टकट को जोड़ने के बाद फ्रेम का बहुत अधिक उपयोग करना शुरू किया)।
  • दृश्यमान फ्रेम में बफ़र्स में हेरफेर करने के लिए सरल, कस्टम कार्यों के लिए अन्य आसान सिंगल-कीस्ट्रोक की-बाइंडिंग को मैप करना। उदाहरणों में शामिल हैं: एक बफर को दूसरी विंडो में फेंकना (2-विंडो सेट-अप में), किसी दिए गए विंडो में वर्तमान बफर और आखिरी बफर के बीच टॉगल करना, अन्य बफर को दफन करना (यह एक helpविंडो को पॉप अप करने के लिए पॉप अप करने के लिए बहुत अच्छा है) (जब भी विंडो पहले दिखाई दे रही थी, उसके साथ मैन पेज, एप्रोपोस आदि पढ़ते हुए)।

मैंने यह भी सोचा था कि मैं की-बाइंडिंग पर कुछ विचार साझा करूँगा, जो कि नए-नए मददगार हो सकते हैं। (क्षमा करें यदि यह गलत जगह है।) मेरे पास विशिष्ट सुझाव नहीं हैं, बल्कि, एक "दर्शन" है जो मुझे अपने लिए कीबाइंडिंग के प्रभावी सेट को बनाए रखने की अनुमति देता है।

  1. अनुचित रूप से उपयोग किए जाने वाले कमांड आसान कुंजी-बाइंडिंग के लायक नहीं हैं।

    • डाउनलोड करें keyfreq.elऔर देखें कि आप वास्तव में क्या उपयोग करते हैं। मैं यह तय करने के लिए एक जीवित रहने की विधि का उपयोग करता हूं कि मेरे कीबोर्ड पर सबसे मूल्यवान रियल-एस्टेट को कौन सी कमांड दी गई है।
    • डिफ़ॉल्ट Emacs कीबाइंडिंग से छुटकारा पाने के लिए डरो मत, जिनमें से कुछ अभी बेतुके हैं। C-\एक महान शॉर्टकट है (# 2 में चर्चा की गई कारणों के लिए) ... और इसे अपने डिफ़ॉल्ट कमांड पर मैप करने के लिए छोड़ना एक अपराध होगा change-input-method:। (हो सकता है कि आपमें से कुछ लोग इसका भरपूर उपयोग करते हों, मैं निश्चित रूप से नहीं।)
  2. निम्नलिखित कारक कीबोर्ड शॉर्टकट की आसानी और गति निर्धारित करते हैं (सबसे महत्वपूर्ण के साथ शुरू):

    • लगातार आपरिवर्तक कुंजी दबाने (, जो कुछ भी यह हो सकता है Ctrl, Meta, आदि)। उदाहरण के लिए, यह हिट करने की C-c C-l C-pतुलना में मेरे लिए हिट करने का तेज़ तरीका है C-x o। मुझे व्यक्तिगत रूप से यह बहुत असुविधाजनक लगता है कि Ctrlकिसी दिए गए कुंजी अनुक्रम के क्रमिक कुंजी-स्ट्रोक के बीच कुंजी को उठाना है ; यह इतना आसान है कि आप केवल संशोधक बटन (इस मामले में Ctrl) को मैश करते रहें । (यह विशिष्ट उदाहरण इस तथ्य से प्रभावित हो सकता है कि मैंने अपनी Ctrlकुंजी और अपनी Caps-Lockकुंजी को हटा दिया है ।)
    • अपने दोस्त में वैकल्पिक । यह हिट करने की C-c C-l C-pतुलना में मेरे लिए तेजी से रास्ता है C-p C-' C-;। (इसे आज़माएं और यह स्पष्ट होना चाहिए।) आम तौर पर बोलते हुए, किस्ट्रोके अनुक्रमों का उपयोग करना बहुत आसान है जो बारी-बारी से हाथों का उपयोग करते हैं (या, कम से कम, एक ही हाथ पर बारी-बारी से उंगलियां)।
    • मानक हाथ की स्थिति से प्रस्थान की डिग्री। यह शिकार-और-पेक के उत्साही लोगों पर लागू नहीं होता है। लेकिन हम में से बाकी के लिए, हमारे सबसे अधिक बार उपयोग किए जाने वाले कीबोर्ड शॉर्टकट हमें अपने मानक स्पर्श-टाइपिंग की स्थिति में जल्दी और आसानी से लौटने की अनुमति देनी चाहिए।

बस कुछ विचार जो मैंने सोचा था कि न्यूबाय्स के लिए सहायक हो सकते हैं। मैं बाद में कुछ और जोड़ सकता हूं।


3

मैं बफ़र्स को जल्दी से उपयोग करने windmove.elऔर bs.elस्विच करने के लिए। दोनों मोड Emacs के साथ शामिल हैं।

  • windmove.el- एक निर्दिष्ट दिशा में एक खिड़की (एक बफर जो वर्तमान में प्रदर्शित होता है) पर स्विच किया जाता है, जैसे बाएं, दाएं, ऊपर, नीचे।

  • bs.el- मैं उपयोग करता हूं bs-cycle-nextऔर bs-cycle-previousअगले बफर पर स्विच करने के लिए जो वर्तमान में एक विंडो में नहीं दिखाया गया है।

आप सेटअप windmove साथ कर सकते हैं (windmove-default-keybindings)जो करने के लिए उचित आदेशों बाध्य होगा Shift-Left Arrow, Shift-Right Arrowआदि

स्थापित करने के लिए bs.el, इस तरह से कुछ काम करेगा:

 (global-set-key [(f9)]   'bs-cycle-previous)
 (global-set-key [(f10)]  'bs-cycle-next)

बफर विंडो (फ्रेम) नहीं है! उन्हें भ्रमित मत करो!
कुआनुई

2
और एक खिड़की एक फ्रेम नहीं है। भले ही, windmove.elEmacsWiki पेज "स्विचिंग बफ़र्स" के तहत है, प्लस bs.elबफ़र्स पर संचालित होता है, न कि विंडोज़ पर।
जो

मैंने स्पष्ट किया कि पवनचक्की क्या करती है।
जो 10

3

मुझे पता है कि बफ़र्स को स्विच करने का सबसे तेज़ तरीका है ace-jump-buffer। एक कुंजी स्ट्रोक बफर मेनू खोलता है और फिर जिस बफर को आप चाहते हैं उसके बगल में अक्षर का चयन करें ace-jump-line-mode। यह 26 या सबसे हाल के बफ़र्स के लिए सबसे अच्छा काम करता है। अपने उपयोग के इतिहास में वापस बफ़र्स पर स्विच करने के लिए, ido-switch-bufferहमेशा एक अच्छा विकल्प होता है।


3

मैं ब्राउज़र-शैली टैब नेविगेशन पसंद करता हूं। मेरे पास क्रमशः अगले और पिछले बफ़र के लिए Ctrl + Tab और Ctrl + Shift + Tab है:

(global-set-key [C-tab] 'next-buffer)
(global-set-key [C-S-tab] 'previous-buffer)

2

व्यापक रूप से, बफ़र्स को स्विच करने के 2 तरीके हैं और अधिकांश समाधान इनमें से एक में गिर जाएंगे।

  1. मिनी बफर का उपयोग करना

यह वह है जो C-x bडिफ़ॉल्ट रूप से करता है। पक्षी आपको अच्छा ऑटो पूरा करते हैं ताकि आपको TAB TAB TAB की इतनी आवश्यकता न हो। हेल्म, प्रोजेक्टाइल आदि जैसी परियोजनाएं आपको किसी प्रोजेक्ट आदि में फ़ाइलों के साथ काम करने की क्षमता प्रदान करके आसान बनाती हैं, और आईडीओ के साथ, वे बहुत उपयोगी हो सकती हैं।

  1. सूचीबद्ध सभी वस्तुओं के साथ एक संपूर्ण बफर।

यह उपयोगी है जब आपके पास बहुत सारे बफ़र्स हैं और आप उन सभी की सूची चाहते हैं। आप बफर के ऊपर और नीचे जा सकते हैं, और किसी विशेष फ़ाइल पर जाने के लिए एंटर दबा सकते हैं। इबफ़र इसके लिए बहुत अच्छा है।

मैं दोनों का उपयोग करता हूं और यह है कि आप इसे कैसे सेट कर सकते हैं।

 (global-set-key (kbd "C-x C-b") 'ido-switch-buffer)
 (global-set-key (kbd "C-x b") 'ibuffer)`

दूसरे हेल्म के लिए भी एक अच्छा विकल्प है
टॉम

2

इडो के अलावा, मेरे पास सेटअप है।

  1. बुराई मोड के मामले में, बफ़र्स को स्विच करने के लिए मुख्य बाइंडिंग का उपयोग करें

    (define-key evil-normal-state-map (kbd "C-j") 'next-buffer)
    (define-key evil-normal-state-map (kbd "C-k") 'previous-buffer)
    (define-key evil-normal-state-map (kbd "C-S-h") 'evil-window-left)
    (define-key evil-normal-state-map (kbd "C-S-j") 'evil-window-down)
    (define-key evil-normal-state-map (kbd "C-S-k") 'evil-window-up)
    (define-key evil-normal-state-map (kbd "C-S-l") 'evil-window-right)
    
  2. विंडो के शीर्षक के रूप में बफर नाम सेट करें। उपरोक्त कीबाइंडिंग के साथ नेविगेट करते समय यह आपकी मदद करेगा

    (setq frame-title-format "%b")
    
  3. यदि आप बुराई मोड का उपयोग कर रहे हैं, तो आप कोशिश कर सकते हैं evil-leader। नेता को अक्सर बाइंड किया जाता था। जैसे आप बाध्य कर सकते हैं C-x bकरने के लिए <leader>-b

    (global-evil-leader-mode)
    (evil-leader/set-leader ",")
    (evil-leader/set-key
     "b" 'switch-to-buffer)
    
  4. बिंदी बिंदी मोड C-<f8>। अब जब आप डायरेक्टरी में फाइल खोलना चाहते हैं, प्रेस करें C-<f8>, फाइल नेम पर नेविगेट करें और aइसके बजाय प्रेस करें RET। तो बिंदास बफर को तुरंत मार दिया जाएगा।

    (global-set-key (kbd "C-<f8>")
            (lambda ()
              (interactive)
              (dired default-directory)))
    (put 'dired-find-alternate-file 'disabled nil)
    
  5. का प्रयोग करें recentfहाल ही की फ़ाइलों नेविगेट करने के लिए मोड।C-x C-r

  6. एक अंतिम महत्वपूर्ण बिंदु है - एर्गोनोमिक मैकेनिकल कीबोर्ड का उपयोग करें। इसलिए आप पिंकी को चोट पहुंचाने के बजाय कलाई से आसानी से और जल्दी से 'सीटीटी' कुंजी दबा सकते हैं।

आशा है कि यह किसी की मदद कर सकता है।


1

जैसा कि आप अन्य उत्तरों से देख सकते हैं कि इस विशेष कार्य को कारगर बनाने के कई तरीके हैं। मैं व्यक्तिगत रूप से अपने बफर स्विचिंग तंत्र के रूप में Lusty Emacs का उपयोग करता हूं क्योंकि यह बहुत अच्छी तरह से फजी पूर्णता को संभालता है। यह नए बफ़र का चयन करने के लिए आवश्यक की-स्ट्रोक की संख्या को कम करता है, उदाहरण के लिए मुझे ऑक्स-रीव्हेल.डेल पर स्विच करने के लिए केवल ओक्सआर टाइप करने की आवश्यकता है , या केवल दूसरी बार राउंड ओ भी करें क्योंकि यह स्विच के इतिहास को भी ट्रैक करता है।


0

यदि आप अपने बफ़र्स के माध्यम से बस ब्रश करना चाहते हैं, तो इसे अपने इनिट फ़ाइल में जोड़ें:

(bind-key* "M-l" 'next-buffer)
(bind-key* "M-k" 'previous-buffer)

आपको बाइंड-की पैकेज की आवश्यकता है और आप अपनी इच्छा से की-बाइंडिंग बदल सकते हैं लेकिन मैंने इन कीबाइंडिंग को सबसे अधिक आरामदायक पाया। इस स्निपेट को जोड़ने से पहले, आपको बाइंड-की की आवश्यकता होगी,

(require 'bind-key)

0

मैं सामान्य अनुप्रयोगों की तरह सी-टैब और सीएस-टैब का उपयोग कर रहा हूं।

(defun change-buffer-until-normal (change-fn)
  (let (current (buffer-name))
    (funcall change-fn)
    (while (and (string-prefix-p "*" (buffer-name))
        (not (eq current (buffer-name))))
      (funcall change-fn))))

(defun my-next-buffer ()
  (interactive)
  (change-buffer-until-normal 'next-buffer))

(defun my-prev-buffer ()
  (interactive)
  (change-buffer-until-normal 'previous-buffer))

(global-set-key [C-tab] 'my-next-buffer)
(global-set-key [C-S-iso-lefttab] 'my-prev-buffer)

-1

मेरे VM पर, Cx ALT-RIGHT / LEFT बहुत धीमा है। इससे पहले कि मैं कुछ और कर सकूं मुझे स्थिति पट्टी में पंजीकरण के लिए Cx की प्रतीक्षा करनी होगी। प्लस इसकी बस बहुत अधिक चाबियाँ। इसलिए मैंने सी-टीएबी और सीएम-टीएबी को अगले और प्रचलित बफर के रूप में मैप किया, जैसा कि मैं वैसे भी अधिकांश विंडोज़ कार्यक्रमों में करता हूं। Emacs के भीतर से यह करना आसान है: M-xआपको स्टेटस बार में ले जाता है। फिर टाइप करें global-set-keyजो आपको उस महत्वपूर्ण अनुक्रम के लिए संकेत देगा जिसे आप बाँधना चाहते हैं ( C-TAB) और फिर उस आज्ञा के लिए जिसे आप इसे बाँधना चाहते हैं ( next-buffer)। बस!


1
स्वागत हे। अन्य उत्तर पहले से ही इन कमांडों को अन्य कुंजियों में मैप करने को कवर करते हैं।
एंड्रयू स्वान

बिल्कुल नहीं - हर कोई आपकी .emacs config फाइल को कैसे बदलना है, इसके बारे में बात कर रहा है। मैंने वर्णन किया है कि इसे emacs सेशन से कैसे करना है
SN
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.