यह निश्चित रूप से विम में करने योग्य है। आप रिमोट फाइलों को संपादित करने के लिए vp के भीतर scp: // प्रोटोकॉल का उपयोग कर सकते हैं, और एक स्थानीय प्रतिलिपि लिखने वाले कमांड को सेट कर सकते हैं। आप यह भी बदल सकते हैं कि कौन सा प्रोग्राम विम उपयोग करता है: अपने सर्वर पर इसके बजाय एसएसएच बनाना।
आपको यह दर्द रहित रखने के लिए अपनी एसएसएच-कुंजी सेट अप करने की आवश्यकता होगी (अन्यथा आप हर समय अपना पासवर्ड दर्ज करेंगे) लेकिन यह काफी आसान है।
एक और विकल्प दूरस्थ रूप से संपादन करने के बजाय, आपके कमांड कमांड के हिस्से के रूप में रिमोट रेपो को धक्का देना होगा।
संपादित करें:
पहले, vim भीतर scp://
प्रोटोकॉल का उपयोग। :help netrw-start
से (या :help scp
से पेज नीचे)
Netrw "पारदर्शी" यूआरएल (देखें | netrw पारदर्शी |) का उपयोग अन्य मशीनों पर फ़ाइलों के संपादन का समर्थन करता। इसका एक उदाहरण के रूप में, मान लीजिए कि आपके पास किसी अन्य मशीन पर खाता है; यदि आप एसपीपी का उपयोग कर सकते हैं, तो कोशिश करें:
vim scp://hostname/path/to/file
एसएसएच/एसपीपी का उपयोग करना आसान बनाना चाहते हैं? चेक आउट | netrw-ssh-hack |
तुम भी :edit
आदेशों में scp://
रास्तों का उपयोग कर सकते हैं, या वास्तव में कहीं भी है कि आप एक सामान्य पथ इस्तेमाल कर सकते हैं।
और उल्लेख किया :help netrw-ssh-hack
से, कैसे आपकी SSH कुंजियां स्थापित करने के लिए पर निर्देश:
में सुधार ब्राउजिंग * netrw-listhack * * netrw-ssh-हैक * {{{2
विशेष रूप से रिमोट डायरेक्टरी ब्राउजर के साथ, लगातार पासवर्ड दर्ज करना थकाऊ है।
लिनक्स/यूनिक्स प्रणालियों के लिए, पुस्तक "लिनक्स सर्वर हैक्स - 100 औद्योगिक ताकत सुझावों & उपकरण" रोब Flickenger द्वारा (ओ रेली, आईएसबीएन 0-596-00461-3) की स्थापना के लिए एक टिप देता है कोई -स्क्रिप्ट एसएसएच और एसपीपी और संबंधित सुरक्षा मुद्दों पर चर्चा करता है। यह http://hacks.oreilly.com/pub/h/66, पर उपलब्ध होता था लेकिन जाहिर है कि पता अब कुछ "हैकज़िन" पर रीडायरेक्ट किया जा रहा है। मुझे लगता है कि लेख पर और बेन श्मिट से एक संचार के आधार पर एक सारांश का प्रयास करेंगे:
(1) स्थानीय मशीन (SSH ग्राहक) पर एक सार्वजनिक/निजी कुंजी युग्म उत्पन्न करें:
ssh-keygen -t rsa
(संकेतों के अनुसार ~/.ssh/id_rsa में फ़ाइल को सहेजने)
(2) बस जब कोई पदबंध के लिए पदबंध (दो बार) के लिए कहा मारा। यदि आप पासफ्रेज़ का उपयोग करते हैं, तो आपको एसएसएच-एजेंट का उपयोग करने की भी आवश्यकता होगी ताकि आपको केवल प्रति सत्र एक बार पासफ़्रेज़ टाइप करना होगा। यदि आप पासफ्रेज का उपयोग नहीं करते हैं, तो बस अपने स्थानीय कंप्यूटर पर लॉग ऑन करना या किसी भी तरह से कीफाइल तक पहुंच प्राप्त करना किसी भी एसएसएच सर्वर तक पहुंचने के लिए पर्याप्त होगा जिसमें लॉगिन के लिए अधिकृत कुंजी है।
~/.ssh/id\_rsa
~/.ssh/id\_rsa.pub
(4) लक्षित मशीन पर (ssh सर्वर):
(3) यह दो फ़ाइलें बनाता है
cd
mkdir -p .ssh
chmod 0700 .ssh
(5) अपने स्थानीय मशीन (SSH ग्राहक) पर: (एक पंक्ति)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys2' < ~/.ssh/id_rsa.pub
या, OpenSSH के लिए, (एक पंक्ति)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys' < ~/.ssh/id_rsa.pub
आप
ssh {serverhostname}
साथ इसे बाहर का परीक्षण कर सकते हैं और आप आगे टाइप करने के लिए कुछ चाहिए बिना सर्वर मशीन पर लॉग इन किया जाना चाहिए।
आप पासफ़्रेज़ का उपयोग करने का फैसला किया है, तो कार्य करें:
ssh-agent $SHELL
ssh-add
ssh {serverhostname}
आप अपने कुंजी पासफ़्रेज़ के लिए संकेत दिया जाएगा जब आप ssh-जोड़ने उपयोग करें, लेकिन नहीं बाद में आप ssh का उपयोग करते हैं। vim के साथ प्रयोग के लिए, यदि आप
ssh-agent vim
उपयोग कर सकते हैं और, जब अगले vim भीतर, का उपयोग
:!ssh-add
वैकल्पिक रूप से, आप ssh-एजेंट टर्मिनल आप की योजना बना रहे करने के लिए पर में vim चल आवेदन कर सकते हैं :
ssh-agent xterm &
और जब भी आपको आवश्यकता हो तो ssh-add करें।
विंडोज के लिए, विम मेलिंग सूची पर लोगों ने उल्लेख किया है कि पेजेंट को पासवर्ड दर्ज करने की निरंतर आवश्यकता से बचने में मदद करता है।
किंग्स्टन फंग एक और तरीका है के बारे में लिखा लगातार पासवर्ड दर्ज करने के लिए की आवश्यकता होगी, से बचने के लिए: SCP के लिए हर बार पासवर्ड में टाइप करने की जरूरत से बचने के लिए
के लिए, आप करने के लिए डॉक्स में एक हैक प्रदान एक गैर पासवर्ड एसएसएच खाता सेट अप करें। मुझे ऐसा करने का बेहतर तरीका मिला: मैं एक नियमित एसएसएच खाता का उपयोग कर सकता हूं जो पासवर्ड का उपयोग करता है, बिना किसी पासवर्ड के में कुंजी की आवश्यकता के बिना सामग्री तक पहुंचने के लिए। यह सुरक्षा और सुविधा के लिए अच्छा है। मैंने एसएसएच सार्वजनिक कुंजी प्राधिकरण + एसएसएच-एजेंट की कोशिश की, इसे कार्यान्वित किया, और यह काम करता है!यहाँ के निर्देश के साथ दो लिंक कर रहे हैं:
दूरस्थ सिस्टम पर बनाने के लिए, आप करने के लिए अपने makeprg
चर सेट करने के लिए एक ssh मेकअप करना की जरूरत है। :help makeprg
": make" कमांड के लिए उपयोग करने के लिए प्रोग्राम। देखें |: make_makeprg | इस विकल्प में '%' और '#' वर्ण हो सकते हैं, जिन्हें वर्तमान और वैकल्पिक फ़ाइल नाम तक बढ़ाया गया है। |: _% | |: _ # | पर्यावरण चर का विस्तार किया गया है।: Set_env | देखें | विकल्प-बैकस्लैश | रिक्त स्थान और बैकस्लाश सहित।
ध्यान दें कि '|' दो बार बच जाना चाहिए: एक बार "सेट" के लिए और एक बार कमांड की व्याख्या के लिए। जब आप एक फिल्टर "myfilter" कहा जाता है का उपयोग इस तरह यह कार्य करें:
:set makeprg=gmake\ \\\|\ myfilter
प्लेसहोल्डर "$ *" (यहां तक कि कई बार) जहां तर्क शामिल किया जाएगा निर्दिष्ट करने के लिए दिया जा सकता है उदाहरण के लिए,:
:set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
यह विकल्प किसी मॉडल से सेट नहीं किया जा सकता है। या सैंडबॉक्स में, सुरक्षा कारणों से।
लेकिन मैं निर्माण के लिए चेक इन पर निर्भर नहीं होना चाहता; मैं यह सुनिश्चित करने के लिए पहले बनाना चाहता हूं कि यह चेक इन से पहले अच्छा है। –