एकल उदाहरण शुरू करने और मौजूदा उदाहरण में फ़ाइलें खोलने के लिए विंडोज पर Emacs सेट करें


18

मुझे विशेष रूप से पूर्ण विंडोज अनुभव में दिलचस्पी है:

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

क्या इस तरह का समर्थन कहीं भी उपलब्ध है?

जवाबों:


21

यदि कोई पहले से शुरू नहीं हुआ है, तो स्वचालित रूप से सर्वर शुरू करना

यह किसी भी Emacs बिल्ड के लिए समान होना चाहिए। इस स्निपेट को अपने में जोड़ें .emacsया .emacs.d/init.el

(require 'server)
(unless (server-running-p)
  (server-start)) 

और फिर बस runemacs.exeनिर्माण के साथ आने वाले निष्पादन योग्य को चलाकर emacs शुरू करें ।

इमैक को कैसे कॉल करें ताकि वह सर्वर का उपयोग करे (जैसे कमांड लाइन या थर्ड पार्टी टूल्स से)

Emacs 'विंडोज बिल्ड निर्देशिका emacsclientw.exeमें एक निष्पादन योग्य के साथ आता है bin/। उस निष्पादन योग्य के लिए पूर्ण पथ का उपयोग करें, जिसे आपके द्वारा कॉन्फ़िगर किए जाने वाले किसी भी तृतीय पक्ष उपकरण पर आपकी पसंद के संपादक के रूप में किया जाता है।

संदर्भ मेनू समर्थन (उदाहरण के लिए एक फ़ाइल पर राइट-क्लिक करें और इसे देखने और संपादन के लिए ईएमएसी पर भेजने की अनुमति दें)

  1. एक फ़ाइल पर राइट क्लिक करें, चुनें Open With -> Select Default Program
  2. पॉप अप करने वाली विंडो में, emacsclientw.exeऊपर बताए गए अपने निष्पादन योग्य पर नेविगेट करें और इसे चुनें।
  3. यदि आप नहीं चाहते कि Emacs डिफ़ॉल्ट हों, तो चरण 1 और 2 को फिर से करें, डिफ़ॉल्ट के रूप में एक अलग प्रोग्राम चुनें।

emacsclientw.exe अब हमेशा संदर्भ मेनू में एक विकल्प होगा।


धन्यवाद - सर्वर के बारे में महान बिंदु, मैं नहीं सोच रहा था।
क्रिस्टोबालिटो

Emacsclient.exe के संबंध में, क्या यह emacsclientw.exe नहीं होना चाहिए? इसके अलावा, मुझे लगा कि सर्वर के न चलने पर वैकल्पिक संपादक को निर्दिष्ट करने के लिए आपको -a ध्वज के साथ इसे चलाना होगा।
क्रिस्टोबालिटो

सर्वर को मेरे कॉन्फ़िगरेशन के साथ ठीक से काम करने के लिए, मुझे एक पर्यावरण चर भी जोड़ना होगा जो EMACS_SERVER_FILEमेरी .emacs.d\serverनिर्देशिका को इंगित करता है ।
रयान

@Ryan मैं पर्यावरण चर की आवश्यकता के बिना यह काम कर पाने में सक्षम था - बस यह सुनिश्चित करने की आवश्यकता थी कि सर्वर चल रहा था।
cristobalito

हम्म, मेरे लिए विंडोज पर (server-running-p)रिटर्न का मूल्यांकन :otherकरने के बाद भी (उस EMACS_SERVER_FILEenv var को सेट करने की कोशिश करने के बाद भी ।
कौशल मोदी

5

यदि कोई पहले से शुरू नहीं हुआ है, तो स्वचालित रूप से सर्वर शुरू करना

मैं अत्यधिक के लिए एक वातावरण चर सेट करने की अनुशंसा ALTERNATE_EDITORकरने के लिए runemacs.exe। इस तरह से आप हमेशा सर्वर न होने पर भी एमॅकसिएंट को कॉल कर सकते हैं। बस अपनी init फाइल में (सर्वर-स्टार्ट) जोड़ें। जब कोई सर्वर मौजूद नहीं है तो एमॅक्लसिएंट कॉल ALTERNATE_EDITORजो हमारे मामले में एमएसीएस है। चूंकि एमस एक इनिट फ़ाइल में सर्वर शुरू करता है, इसलिए इमैकसिएंट के लिए कोई भी नया कॉल तात्कालिक होगा।

इमैक को कैसे कॉल करें ताकि वह सर्वर का उपयोग करे (जैसे कमांड लाइन या थर्ड पार्टी टूल्स से)

emacsclientw.exe -c -n "your_file"अपने_फाइल को खोलने के लिए उपयोग करें । -cतर्क एक नया चित्रमय फ्रेम बनाता है और -nआप सर्वर राज्य खोने के बिना फ्रेम बंद करने के लिए अनुमति देता है। आप इसे *Scratch*बफर खोलने के लिए फ़ाइल नाम के बिना भी कह सकते हैं । एक डेस्कटॉप शॉर्टकट से भी काम करता है। का उपयोग करते हुए emacsclient.exe(डब्ल्यू लापता ध्यान दें) एक कमांड प्रॉम्प्ट पॉप अप होगा कुछ सेकंड के लिए हर आप इसे कहते हैं।

संदर्भ मेनू में जोड़ना

यहाँ संदर्भ मेनू में Emacs को जोड़ने पर Emacswiki का एक अच्छा पृष्ठ है । इसमें HKEY_CLASSES_ROOT\*emacs के साथ खोलने के लिए एक क्रिया जोड़ने के लिए रजिस्ट्री नोड को संपादित करना शामिल है ।


5

अन्य लोगों ने सर्वर भाग का उत्तर दिया है। यहाँ मैं क्या कर रहा हूँ, जैसे UNIX / GNU / Linux जैसी उपयोगिताओं को पाने के लिए grepऔर diff:

  1. Cygwin (एक बार का संचालन) स्थापित करें ।
  2. भार cygwin-mount.el
  3. भार setup-cygwin.el

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

यह सभी देखें:


नोट: साइबर ईएमएसीएस का उपयोग न करें। Ftp.gnu.org/gnu/emacs/windows
M Smith

मैं Cygwin को स्थापित करने की अनुशंसा नहीं करता, क्योंकि कुछ गुन टूल्स होने के लिए अवांछनीय साइड-इफेक्ट्स हो सकते हैं (जैसे अन्य ग्नू विंडो पोर्ट्स जैसे emacs, gcc, ...)। इसके बजाय GnuWin32 पोर्ट स्थापित करें । आप पूरे पैकेज या अपनी पसंद के चुनिंदा टूल इंस्टॉल कर सकते हैं।
सेकी

@ सेकी - हाँ, एली ज़ेरेत्सकी तुम जैसी ही बात कहती है। मैं बस इतना ही कह सकता हूं कि मुझे कोई समस्या नहीं है (और मुझे गंभीर संदेह है कि इससे आपका दावा Emacs को तोड़ देगा )। लेकिन (ए) मैं एक पुराने Cygwin रिलीज का उपयोग कर रहा हूं और (b) मैं Cygwin द्वारा प्रदान की गई UNIX / GNU लिनक्स उपयोगिताओं में से अधिकांश का उपयोग नहीं करता हूं।
ड्रू

@ ड्रू: शायद "ब्रेकिंग" एमएसीएस के बारे में बात करने के लिए अत्यधिक, "अजीब व्यवहार का कारण" बेहतर होता। उदाहरण के लिए Cygwin Make, MinGW toolchain को तोड़ देगा यदि आप ध्यान से नहीं तो Cygwin टूल के लिए अपने रास्ते की जांच नहीं करते हैं या कोई अन्य मौजूद नहीं होने पर डिफ़ॉल्ट रूप से लिया जाता है। यह मेक तक सीमित नहीं है, कई अन्य उपकरण मिश्रण नहीं कर सकते हैं और कभी-कभी समस्या को इंगित करने के लिए सूक्ष्म है। तो संक्षेप में, या तो आपके पास Emacs का एक मूल बंदरगाह है और देशी GNU उपकरण होना बेहतर है, या आप इसके Emacs सहित पूरे Cygwin वितरण का उपयोग कर सकते हैं।
सेकी

@ सेकी: तो ऐसा लगता है कि आपका मुख्य मुद्दा यह है कि सिग्विन और मिंगग एक साथ अच्छा नहीं खेलते हैं। यह मेरे लिए आश्चर्य की बात नहीं है। (एफडब्ल्यूआईडब्ल्यू, मेरे पास सिग्विन के बजाय मिंगगॉव का उपयोग करने के खिलाफ कुछ भी नहीं है। मेरे लिए यह साइगविन को स्थापित करने के लिए सरल था, और मैंने समस्याओं का सामना करने के लिए इसका पर्याप्त उपयोग नहीं किया है।)
आकर्षित
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.