2010-08-19 16 views
32

क्या Emacs में हाल की फ़ाइलों को खोलने की क्षमता है (उदाहरण के लिए फ़ाइल जैसे मेनू> हालिया खोलें ...)?Emacs में "ओपन हालिया"

मुझे पता है कि ओएस एक्स के लिए एक्वामाक्स, इस सुविधा में है। लेकिन क्या यह सभी Emacs संस्करणों के लिए आम है?

उत्तर

13

साधारण जीएनयू Emacs में हाल ही में खुली फ़ाइलों को दिखाने वाला मेनू नहीं है। हालांकि, सभी Emacs आदेशों में इतिहास है, जिसमें find-file (C-x C-f) शामिल हैं। "फाइल | चुनना ओपन "मेनू में या emacsclient वाली फ़ाइल खोलने से यह इतिहास भी जुड़ जाता है। C-x C-f दबाए जाने के बाद, खुली फ़ाइलों के इतिहास को नेविगेट करने के लिए up और down दबाएं।

इतिहास सत्रों के बीच सहेजा जाता है यदि आप desktop पैकेज के साथ सत्र की बचत सक्षम करते हैं।

+1

जानबूझकर या अनजाने में अधिकांश लोगों द्वारा अच्छी पुरानी खोज-फ़ाइल को 'ido-find-file' द्वारा प्रतिस्थापित किया गया है। Ido का इतिहास एक पूरी तरह से अलग व्यापार है। हाल ही में यहां एक बेहतर समाधान हो सकता है। – Jaseem

+4

हालांकि, आपके इतिहास को बंद करने के बाद यह इतिहास मिटा दिया गया है। – fiacobelli

+0

@fiacobelli इसलिए 'डेस्कटॉप' पैकेज का उपयोग करने के लिए मेरा सुझाव। – Gilles

31

इस कार्यक्षमता को प्रदान करने की सबसे बेवकूफ विधि recentf-mode (अधिक here) के उपयोग के माध्यम से है।

(require 'recentf)

(recentf-mode 1)

यह तो एक इंटरैक्टिव समारोह, recentf-open-files, जो मैं C-x f करने के लिए बाध्य है, जो हाल ही में फैला हुआ है कि सत्र खोला फ़ाइलों की एक गिने सूची प्रदान करता है प्रदान करता है: मैं के साथ मेरी आरंभीकरण फ़ाइल में सक्षम , यानी यदि आप emacs को बंद करते हैं और इसे पुनरारंभ करते हैं, तो यह आपकी हाल ही में खोले गए फ़ाइलों को बनाए रखेगा। आप समारोह की तरह, अपने प्रारंभ फ़ाइल में एक और लाइन के साथ एक त्वरक के लिए बाध्य कर सकते हैं:

(global-set-key "\C-xf" 'recentf-open-files)

(वैकल्पिक)

आप ट्रैम्प का व्यापक उपयोग करते हैं, तो recentf भी उन फ़ाइलों को ट्रैक करेगा, और क्या यह आवधिक क्लीनअप चीज है जो वास्तविक रिमोट हो सकती है क्योंकि फाइलें दूरस्थ हैं। अपने स्टार्टअप फ़ाइल में इस डाल कर इसे रोकने:

(setq recentf-auto-cleanup 'never)

+0

मैं हाल ही में 'सी-एक्स एफ' में बाध्यकारी के खिलाफ वकील चाहता हूं। इसे एक विशिष्ट फ़ाइल खोलने की आवश्यकता है, जो हमारे इतिहास में हो सकता है या नहीं हो सकता है। यदि आपके पास ido सक्षम है, तो फ़ज़ी मिलान और गति के लिए 'ido-find-file' का उपयोग करें। तो मेरे मामले में, इसके "सी-एक्स सी-एफ" को 'ido-find-file' और "सी-एक्स सी-आर" में मैप किया गया है' हालिया-ओपन-फाइल – Jaseem

4

जीएनयू Emacs , पुस्तकालय recentf.el शामिल Emacs 22 के बाद से बस के रूप में आर.पी. डिलन ने संकेत दिया क्या करता है।

5

आप केवल आपके आमंत्रण Emacs के बीच minibuffer इतिहास को बचाने के लिए अपने .emacs में निम्नलिखित डाल कर सकते हैं:

(savehist मोड 1)

डेस्कटॉप पैकेज के विपरीत है कि आपके सभी खुले बचा सकता है इनवोकेशन में बफर, यह केवल मिनीबफर इतिहास करता है (उदाहरण के लिए जब फ़ाइल खोलना आप पिछले सत्र में खोले गए फाइलों की सूची नेविगेट करने के लिए ऊपर तीर का उपयोग कर सकते हैं)।

+0

से मुझे लगता है कि यह सबसे अच्छा समाधान है! आपको डेस्कटॉप की आवश्यकता नहीं है। वास्तव में आप शायद सभी बफर को सहेजना नहीं चाहते हैं ... – Skuge

संबंधित मुद्दे