मैं अक्सर एसएसएच के माध्यम से रिमोट सर्वर तक पहुंचने के लिए स्वत: पूर्णता और ट्रम्प के लिए ido का उपयोग करता हूं।Emacs: ट्रम्प मोड में इडौ पूर्णता को अक्षम करें
(require 'tramp)
(setq tramp-default-method "ssh")
(ido-mode 1)
(setq ido-enable-flex-matching t)
(setq ido-everywhere t)
मैं, Ido पूरा होने को निष्क्रिय करना चाहते जब मैं दूरस्थ सर्वर की सामग्री को ब्राउज़ कर रहा हूँ: मेरा .emacs
निम्नलिखित लाइनें शामिल हैं। ध्यान दें कि परिवर्तनीय ido-enable-tramp-completion
में मेरी समस्या से कोई लेना देना नहीं है। लाइन /[email protected]#1234:/var/www/file.txt
पर विचार करें। मुझे कोलन (रिमोट फाइल पथ) के बाद भाग को कम करने के लिए इडौ की आवश्यकता नहीं है, मुझे कोलन से पहले भाग की परवाह नहीं है। मैं एसएसएच का उपयोग करता हूं, और इडौ हर बार कुछ सेकंड के लिए Emacs अंतराल बनाता है जब मैं ido-find-file
चलाता हूं, और जब एसएसएच टाइमआउट खत्म हो जाता है, ट्रैम्प फिर से कनेक्ट करने का प्रयास करता है, मुझे पासवर्ड के लिए पूछता है और इसी तरह। यह व्यवहार अवांछनीय है।
Emacs संस्करण - 24.0.94.1
संपादित करें (20.03.12): Ido लेखक के साथ संपर्क करने के बाद मैं निम्नलिखित करने के लिए ido-file-name-all-completions-1
बदलने की कोशिश की:
(defun ido-file-name-all-completions-1 (dir)
(cond
((ido-nonreadable-directory-p dir) '())
;; do not check (ido-directory-too-big-p dir) here.
;; Caller must have done that if necessary.
((and ido-enable-tramp-completion
(or (fboundp 'tramp-completion-mode-p)
(require 'tramp nil t))
(string-match "\\`/[^/]+[:@]\\'" dir))
;; TRAMP RELATED CODE DELETED
nil)
(t
(file-name-all-completions "" dir))))
कोई सफलता। मैं तो
"\\`/[^/]+[:@]"
करने के लिए regex बदल गया और यह काम किया - Ido विकलांग था, जब minibuffer कि मैच निहित। हालांकि, चूंकि इडौ रिमोट सर्वर पर फ़ाइलों को नहीं देख सका, इसलिए मैंने कुछ प्रविष्टियों में अन्य निर्देशिकाओं में फ़ाइलों की खोज के लिए ido-make-merged-file-list
पर कॉल करना शुरू कर दिया। इसने रिमोट सर्वर पर इडौ के साथ और भी दर्द महसूस किया।
मैंने वैरिएबल ido-slow-ftp-hosts
और ido-slow-ftp-host-regexps
से /[email protected]#1234
पर सेट करने की भी कोशिश की, मदद नहीं की।
यदि मैं दो बार 'ido-find-file' करता हूं, तो यह त्रुटि '* बैकट्रैक *' बफर में डाली जाती है -' डीबगर दर्ज किया गया - लिस्प त्रुटि: (त्रुटि "कमांड मिनीबफर में मिनीबफर का उपयोग करने का प्रयास किया गया") डीबगर दर्ज - लिस्प त्रुटि: (त्रुटि "कमांड मिनीबफर में मिनीबफर का उपयोग करने का प्रयास किया") '। और मुझे यह कार्य कहां लिखना चाहिए? –
आप दो बार ido-find-file नहीं चला सकते हैं। 'सी-एक्स सी-एफ' कमांड ido-find-file को दोपहर का भोजन नहीं करेगा, यह सिर्फ खोज-फ़ाइल पर वापस आ जाएगा। 'एम-एक्स ido-find-file आरईटी' टाइप न करें। 'सी-एक्स सी-एफ' टाइप करें। – mathk
मैं देखता हूं। एक कोलन देखने वाले ido के लिए मुझे एक समारोह कहां लिखना चाहिए? –