2008-12-24 12 views
8

प्रश्न: एमएक्स समकक्ष कमांड को एमएसी-आधारित संचालन के लिए एमएक्स समकक्ष कमांड कैसे प्राप्त कर सकता है, उन मामलों में जहां मेरे Emacs-variant ओएस-विशिष्ट डेस्कटॉप कार्यक्षमता का उपयोग करता है ?"जीयूआई-स्टाइल" मेनू का उपयोग करने के लिए Emacs Mx कमांड

पृष्ठभूमि: परंपरागत समझ में कहा गया है कि Emacs में सबकुछ एक कमांड है, और जब तक आप कमांड का नाम जानते हैं, तब तक आदेश एम-एक्स के माध्यम से बुलाया जा सकता है। इस कथन को मानना ​​सही है, "डेस्कटॉप" आधारित Emacs संस्करण में "GUI-style" मेनू को ट्रिगर करने के लिए उपयोग किए गए आदेशों का नाम ढूंढने का तरीका क्या है?

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

मैं एक ही चीज़ करने के लिए एम-एक्स समकक्ष कमांड कैसे ढूंढ सकता हूं?

मैं सोचा का वर्णन-कुंजी मुझे बताओ क्या मुझे पता है की जरूरत है, लेकिन यह उपयोग करने के लिए संकेत है:

M-x menu-find-file-existing 

"जीयूआई" शैली फ़ाइल खुला संवाद आह्वान नहीं करता है। इसके बजाय, यह Emacs आंतरिक गैर-जीयूआई-ओएस-तटस्थ संस्करण का उपयोग करता है।

उत्तर

7

आप की जरूरत है:

 
<menu-bar> <edit> <paste> runs the command clipboard-yank 
    which is an interactive compiled Lisp function in `menu-bar.el'. 
It is bound to <paste>, <f18>, <menu-bar> <edit> <paste>. 
(clipboard-yank) 
Insert the clipboard contents, or the last stretch of killed text. 

आपको जानकारी चाहते हैं, लिस्प स्रोत के लिए menu-bar-el के लिए लिंक का पालन करें: यहाँ, उदाहरण के लिए, आप क्या मेनू/संपादन/पेस्ट को चुनने से मिलता है Emacs को यह सोचने में चाल करें कि कीबोर्ड का उपयोग नहीं किया जा रहा था, जो यह सोचने में सहज महसूस नहीं कर रहा है कि माउस था। :)

(defadvice find-file-read-args (around find-file-read-args-always-use-dialog-box act) 
    "Simulate invoking menu item as if by the mouse; see `use-dialog-box'." 
    (let ((last-nonmenu-event nil)) 
    ad-do-it)) 

WinXP पर Emacs 22.2.1 पर परीक्षण किया गया। मेरा मानना ​​है कि प्रतिमान कुछ समय से आसपास रहा है, हालांकि, इसे पुराने Emacs पर काम करना चाहिए। XEmacs समान रूप से काम करता है या नहीं, कोई सुराग नहीं है।

3

वाह, मुझे खुशी है कि आपने उससे पूछा था। मैं खुद को देखने के लिए थोड़ी देर के लिए इसका मतलब रहा हूं।

C-h k मेनू विकल्प के बाद आपको यह बताना होगा।

(defun menu-find-file-existing() 
    "Edit the existing file FILENAME." 
    (interactive) 
    (let* ((mustmatch (not (and (fboundp 'x-uses-old-gtk-dialog) 
        (x-uses-old-gtk-dialog)))) 
    (filename (car (find-file-read-args "Find file: " mustmatch)))) 
    (if mustmatch 
    (find-file-existing filename) 
     (find-file filename)))) 
+0

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

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

  • कोई संबंधित समस्या नहीं^_^