2010-05-11 7 views
18

मैंने हाल ही में रोपेमैक के एचजी टिप संस्करण को स्थापित किया है और मैं TRAMP का उपयोग कर दूरस्थ फ़ाइलों को संपादित करते समय इसका उपयोग करना चाहता हूं। क्या किसी ने ऐसा किया है? जब मैं M-/ उपयोग करने के लिए एक चर नाम पूरा करने के लिए प्रयास करते हैं, मैं Rope project root folder डालने के लिए कहा रहा हूँ और मैं दर्ज करें: /ssh:myhost:/path/to/myproject/ और यह मेरे निम्न त्रुटि देता है:क्या Emacs में TRAMP के साथ रोपेमैक का उपयोग करना संभव है?

Opening [/ssh:myhost:/path/to/myproject/] project ... 
pymacs-report-error: Python: Traceback (most recent call last): 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/Pymacs/pymacs.py", line 147, in loop 
    value = eval(text) 
    File "<string>", line 1, in <module> 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/decorators.py", line 53, in newfunc 
    return func(*args, **kwds) 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 254, in code_assist 
    _CodeAssist(self, self.env).code_assist(prefix) 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 538, in code_assist 
    proposals = self._calculate_proposals() 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 597, in _calculate_proposals 
    self.interface._check_project() 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 448, in _check_project 
    self.open_project() 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/decorators.py", line 53, in newfunc 
    return func(*args, **kwds) 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 88, in open_project 
    self.project = rope.base.project.Project(root) 
    File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/rope/base/project.py", line 134, in __init__ 
    os.mkdir(self._address) 
OSError: [Errno 2] No such file or directory: '/ssh:myhost:/path/to/myproject' 

मैं ropemacs आवारा के साथ दूरदराज के फ़ाइलों का समर्थन नहीं करता है की कल्पना । बस सोच रहा है कि किसी को कामकाज मिल गया है या नहीं। शायद कुछ कस्टम elisp? या शायद मुझे sshfs का उपयोग करना चाहिए और दूरस्थ रूप से दूरस्थ फाइल सिस्टम को माउंट करना चाहिए ...

मैंने /home/saltycrane/lib/python-environments/default पर स्थित वर्चुअलनव में रोपेमैक स्थापित किए हैं। मैं उबंटू ल्यूसिड पर जीएनयू इमाक्स 23.1.50.1 का उपयोग कर रहा हूं।

मुझे यह उल्लेख करना चाहिए कि M-/ के साथ पूरा होने पर मैं ठीक काम करता हूं जब मैं TRAMP का उपयोग नहीं कर रहा हूं। इसके बजाय, यह की तरह कॉल का उपयोग करता है -

+3

एसएसएफएफ का उपयोग शायद व्यावहारिक दृष्टिकोण है। जब तक रोपेमैक को TRAMP पर काम करने के लिए समर्थन मिलता है, या खुद को पैचिंग रोपेमैक, निश्चित रूप से अधिक प्रयास है। Sshfs के लिए –

+0

+1, जो यूनिक्स दर्शन के मॉड्यूलरिटी सिद्धांत का पालन करता है और न केवल Emacs के साथ काम करता है। –

उत्तर

6

नहीं, यह संभव नहीं है आवारा का उपयोग कर, क्योंकि अजगर rope पुस्तकालय जब यह अजगर फ़ाइलों के लिए फाइल सिस्टम को स्कैन करने के अपनी कक्षाओं और कार्यों को खोजने के लिए करना चाहता है नहीं मेकअप Emacs में वापस कॉल करता है, listdir() और open() सीधे फाइल सिस्टम पर, Emacs को रास्ते में आने का मौका दिए बिना और विशेष ट्रैम्प-प्रीफ़िक्स्ड पथ को संपादित करने का मौका दिए बिना।

sshfs का उपयोग करना, संभव हो सकता है के रूप में टिप्पणी का उल्लेख किया है, लेकिन rope के लिए मुझे लगता है कि यह एक बहुत धीमी गति से समाधान हो सकता है, के बाद से rope अपनी परियोजना के राज्य पता लगाने के लिए इतने सारे फ़ाइलें खोलने के लिए है।

मैं आम तौर पर rope को छोड़ देता हूं, या फिर रिमोट-सिस्टम सिस्टम लिंक पर संपादन करते समय दूरस्थ सिस्टम से Emacs सत्र को निर्यात करने का तरीका समझता हूं। मुझे आश्चर्य है कि क्या आप rsync या dropbox या यहां तक ​​कि एक डीवीसीएस जैसे कुछ भी उपयोग कर सकते हैं ताकि फ़ाइलों को आपके स्थानीय हार्ड ड्राइव पर तत्काल सुलभ प्रतियों के रूप में उपस्थित रहे, लेकिन आपके द्वारा सहेजे गए परिवर्तनों को कॉपी किया जाएगा?

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