2013-05-16 9 views
11

में कंसोल के लिए एक पंक्ति कैसे पारित करें मैं आर प्रोग्रामिंग भाषा के साथ काम करने के लिए RStudio का उपयोग करता हूं और कंसोल पर एक लाइन भेजने के लिए ctrl+enter शॉर्टकट ढूंढता हूं जो मेरे काम की समस्या निवारण में बेहद उपयोगी है।उत्कृष्ट पाठ 2 संपादक

अब मैं sublimetext2 का उपयोग कर रहा हूं और मैं RStudio में एक ही चीज़ करना चाहता हूं, कंसोल पर एक पंक्ति भेजें।

क्या मौजूदा लाइन को कंसोल या SublimeREPL कंसोल को भेजने का कोई तरीका है?

उत्तर

8

मुझे कंसोल के बारे में पता नहीं है, लेकिन यह SublimeREPL के साथ संभव है।

जब तक आपके पास एक ही समय में एक आरईपीएल और एक ही भाषा की एक फ़ाइल खुलती है, तो आप SublimeREPL Source Buffer Keys के माध्यम से अपने खुले आरईपीएल में एक लाइन (या चयन या फ़ाइल) भेज सकते हैं। डिफ़ॉल्ट रूप से, Ctrl+,l के बाद वर्तमान लाइन आरईपीएल को भेजती है, लेकिन आप इन 0 लाइनों को अपने Preferences -> Key Bindings – User फ़ाइल के शीर्ष पर जोड़कर हॉटबी को Ctrl+Enter (केवल पाइथन में, अन्य भाषाओं की डिफ़ॉल्ट Ctrl+Enter कार्यक्षमता की रक्षा के लिए) में बदल सकते हैं:

( Preferences -> Browse Packages -> SublimeREPL/Default (Windows).sublime-keymap से)
{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines"}, "context": 
    [ 
     { "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true } 
    ] 
}, 

अन्य उपलब्ध स्कोप selection, file, और block (Clojure केवल) कर रहे हैं। आप अपने आरईपीएल लेकिन के लिए एक लाइन नहीं भेज को इसे तुरंत पार्स चाहते हैं, आप args वस्तु को "action":"view_write" जोड़ सकते हैं, तो जैसे:

{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "lines", "action": "view_write"}, "context": 
    [ 
     { "key": "selector", "operator": "equal", "operand": "source.python", "match_all": true } 
    ] 
}, 

कुंजी बाइंडिंग बारे में अधिक जानकारी के लिए Unofficial Sublime Text 2 Docs देखें।

यदि आपके स्रोत की तुलना में आरईपीएल एक अलग टैब में खुला है (एक अलग दृश्य के बजाय), स्रोत बफर हॉटकी REPL पर ध्यान केंद्रित नहीं करेगा। मुझे यकीन है कि किसी प्रकार की टैब-स्वैपिंग टॉगल कुंजी को कार्यान्वित करना संभव है, लेकिन यह किसी अन्य प्रश्न के लिए किसी समस्या की तरह लगता है।

+0

यही कमाल है। धन्यवाद @ संरक्षक निंजा। प्रश्न पर एक त्वरित अनुवर्ती - क्या दोनों कार्यों को प्राप्त करना संभव है। तो मैं कंसोल पर लाइन भेजना चाहता हूं और इसे निष्पादित करने से पहले इसे देखना चाहता हूं। धन्यवाद - कंसोल द्वारा क्षमा करें मेरा मतलब है REPL –

+0

@TahnoonPasha हां! दूसरे बड़े कोड स्निपेट को अपनी 'कुंजी बाइंडिंग्स - उपयोगकर्ता' फ़ाइल में पहले के साथ जोड़ें और '' कुंजी '' मान को समायोजित करें जिसे आप भेजना चाहते हैं-लेकिन-मूल्यांकन नहीं करना चाहते हैं, कहें, 'ctrl + + enter' बदलाव। फिर 'ctrl + enter' भेज देगा * और * लाइन का मूल्यांकन करेगा, जबकि' ctrl + shift + enter' भेज देगा और * * * लाइन का मूल्यांकन नहीं करेगा। यदि आप कस्टम कीप्रेस में रूचि नहीं रखते हैं, तो डिफॉल्ट भेजें-लेकिन-don't-मूल्यांकन कुंजी संयोजन 'ctrl + shift +,' के बाद 'l' है। –

+0

धन्यवाद @ संरक्षक निंजा मुझे लगता है कि मुझे कुछ गलत करना होगा। जब मैं भेजता हूं और मूल्यांकन करता हूं तो यह आरईपीएल टर्मिनल में गूंज नहीं करता है, यह केवल मूल्यांकन करता है और जब यह किया जाता है तो अतिरिक्त '>>>' देता है। मैं जो उम्मीद कर रहा था वह था अगर मेरे पास 'आयात imaplib' था और मैंने 'ctrl + enter 'किया था, तो मैं '>> आयात imaplib' देखेंगे जो मूल्यांकन करेगा और फिर नया' >>>'। क्या आपके कोड का प्रभाव होने की उम्मीद है? इसके साथ आपकी मदद के लिए फिर से धन्यवाद। –

4

अपनी खुद की कुंजी बाइंडिंग की स्थापना के अलावा, आप बस Enhanced-R स्थापित कर सकते हैं:

उदात्त में:

  • Cmd + शिफ्ट + पी (अप आदेश लाने के लिए पैलेट)
  • टाइप करें "Install Package"
  • Naviga Enhanced-R

करने ते आप ज्यादातर सिर्फ R के लिए उदात्त उपयोग कर रहे हैं, तो आप पूरे एप्लिकेशन के लिए डिफ़ॉल्ट वाक्य रचना सेट कर सकते हैं। या आप यह फ़ाइल प्रति बदल सकते हैं

(Cmd + शिफ्ट + पी फिर से, तो Syntax Enhanced R टाइप करना आरंभ करें) फिर, जैसे आप RStudio में करने के लिए उपयोग किया जाता है, तो आप बस Cmd हिट + दर्ज कंसोल या आर को कोड भेजने के लिए।एप्लिकेशन आदि

+0

SublimeREPL के साथ मैं सब्लिमे टेक्स्ट के भीतर आर कंसोल खोल सकता हूं, क्या एन्हांस्ड-आर के लिए एक समान विकल्प है? – adibender

+0

@ एडिबेंडर आप 'sublimeREPL' और' एन्हांस्ड-आर 'का एक साथ उपयोग कर सकते हैं। व्यक्तिगत रूप से, मैंने 'sublimeREPL' के साथ काम किया है क्योंकि यह खिड़की के आकार से निपटने के लिए परेशान हो रहा था।मेरे पास जवाब के लिए –

+0

thx के बीच दो विंडो हैं, मैं 'सीएमडी-टैब' (या 'सीएमडी- \ '') कर सकते हैं, लेकिन मैं इसे काम करने में काफी कुछ नहीं कर सका। मैं SublimeREPL के माध्यम से आर खोल सकता हूं और मैं आरएच कोड को एन्हांस्ड-आर के माध्यम से आरजीईई भेज सकता हूं, लेकिन आर-कोड को सब्लिमेरेपीएल आर-कंसोल (एन्हांस्ड-आर शॉर्ट कट्स के माध्यम से) नहीं भेज सकता। लेकिन अगर मैं कुछ और प्रयासों के बाद इसे काम नहीं कर पा रहा हूं तो मैं सिर्फ एक प्रश्न पोस्ट करूंगा ... – adibender

1

SublimeREPL के लिए कच्चे आर कोड भेजा जा रहा है अब काम करता है:

  1. सीएमडी/Ctrl लाओ + शिफ्ट + पी मेनू
  2. करें R Application Switch
  3. करें SublimeREPL

जब आपके पास SublimeREPL सक्रिय होता है, तो आप इसे सीएमडी/Ctrl + दर्ज करें।

ध्यान दें कि डिफ़ॉल्ट रूप से, SublimeREPL उस कोड को प्रदर्शित नहीं करेगा जो भेजा जाता है; यह आपको आउटपुट दिखाएगा। show_transferred_text सेटिंग पर Preferences -> Package settings -> SublimeREPL -> Settings - User

  • बारी करने के लिए

    1. नेविगेट: आप भी कोड को देखने के लिए चाहते हैं, तो आप अपने उपयोगकर्ता सेटिंग्स बदल सकते हैं।

    उदाहरण के लिए, यदि आप किसी अन्य सेटिंग नहीं है, अपनी सेटिंग्स इस तरह दिखना चाहिए:

    { 
        "show_transferred_text": true 
    } 
    
  • संबंधित मुद्दे