2012-09-18 45 views
5

से सुलभ है, हालांकि मैंने कभी यह कोशिश नहीं की है, लेकिन यह स्पष्ट रूप से here वर्णित रूप में एक फ़ाइल को दूरस्थ रूप से संपादित करना संभव है। मेरी विशेष मामले में सर्वर मैं करने के लिए केवल परिसर में से पहुँचा जा सकता पहुंच की आवश्यकता है, इसलिए मैं बहुत तरह मेरे विश्वविद्यालय खाते में प्रवेश करने के लिए है:सर्वर पर किसी फ़ाइल को दूरस्थ रूप से संपादित करने के लिए vim का उपयोग करना केवल सर्वर ए

ssh [email protected] 

फिर वहाँ से तो जैसे सुरक्षित सर्वर में प्रवेश:

ssh [email protected] 

मैं बिना चाबी ssh की स्थापना की है, तो मैं तो जैसे प्रक्रिया को स्वचालित कर सकते हैं:

ssh [email protected] -t "ssh u[email protected]" 

है वैसे भी दूर पर अपने स्थानीय मैक एक फ़ाइल जैसे secure.university.com/user/foo.txt संपादित करने के लिए Hine?

संपादित करें:

मेरे इरादे के रूप में यह अव्यावहारिक है अपने स्थानीय मशीन पर vim उपयोग करने के लिए है (के लिए कदम .vim folder, कॉपी .vimrc) और कुछ मामलों असंभव (कुछ सेटिंग, पैच vim स्रोत के साथ vim पुनः संकलित में स्थापित भाषा beautifiers) रिमोट मशीन पर vim बनाने के लिए जिस तरह से मैं व्यवहार करना चाहता हूँ व्यवहार करते हैं। क्या मैं चाहता हूँ (यह, सही SCP नहीं है मुझे पता है)

vim scp://[email protected] scp://[email protected]//home/user/foo.txt 

उत्तर

4

ठीक काम करने के बाद ठीक है, मैंने इसे समझ लिया। सबसे पहले आपको फ़ाइल को संपादित करने (या बनाने) को here के रूप में संपादित करना होगा। हमारे उद्देश्यों के लिए, हम इस तरह की एक पंक्ति जोड़ देंगे, जो अनिवार्य रूप से प्रॉक्सी जोड़ता है।

Host secure 
    User   Julius 
    HostName  secure.university.com 
    ProxyCommand ssh [email protected] nc %h %p 2> /dev/null 

तो हम बस इतना

scp secure:/home/Julius/fee/fie/fo/fum.txt fum.txt 

इस पर विस्तार की तरह स्थानीय कंप्यूटर पर कॉपी कर सकते हैं (scp के माध्यम से) फ़ाइल secure.university.com:/home/Julius/fee/fie/fo/fum.txt, हम इसे vim में दूर से तो जैसे लोड कर सकते हैं:

vim scp://secure//home/Julius/fee/fie/fo/fum.txt 

या badd का उपयोग करके:

:badd scp://secure//home/Julius/fee/fie/fo/fum.txt 

मेरे जीवन को आसान बनाने के लिए, मैं सबसे अधिक इस्तेमाल किया सबफ़ोल्डर के लिए मेरे .vimrc फ़ाइल के लिए इस शॉर्टकट कहा:

nnoremap <leader>scp :badd scp://secure//home/Julius/fee/fie/fo/fum.txt 

अब तक vim, सुंदर ध्यान रखें कि यह एक दूरस्थ फ़ाइल है साबित हो गया है, इसलिए यदि

#include "foo.h" 

यह शिकायत नहीं होगा कि "foo.h"

0

बार जब आप अपने खोल पर रिमोट होस्ट में मशीन आप (vim भी) किसी भी कमांड चला सकते में SSHed कुछ इस तरह जारी करने के लिए है। जब आप अपनी मशीन में चल रहे हैं तो रन विम लॉगिंग के बाद।

+0

भ्रम के लिए खेद है याद आ रही है, तो कृपया संपादित मैं – puk

0

चूंकि आप एसएसएच का उपयोग कर रहे हैं, तो मूल रूप से आप सीएलआई के माध्यम से सर्वर तक पहुंच सकते हैं, जैसे कि आप मशीन के सामने बैठे थे। इसके साथ ही, आप उस मशीन पर किसी भी प्रोग्राम का उपयोग कर सकते हैं, जैसे आप इसे अपनी मशीन पर इस्तेमाल करेंगे।

cd /user 
vim foo.txt 

तुम भी नैनो या किसी अन्य CLI आधारित इस्तेमाल कर सकते हैं: मान लिया जाये कि secure.university.com/user/foo.txt मतलब यह है कि एक पाठ सुरक्षित सर्वर पर स्थान /user पर foo.txt बुलाया फ़ाइल है कि वहाँ है, तो निम्न कमांड ssh के माध्यम से प्रवेश करने के बाद काम करेगा संपादक जो मशीन पर स्थापित है।

+0

मैं माफी चाहता, मैं चाहिए बनाया देखें: सी फ़ाइल इसलिए की तरह एक फ़ाइल शामिल नहीं यह स्पष्ट कर दिया है कि मैं दूरस्थ रूप से vim में संपादित करना चाहता हूं। मैं इसे प्रतिबिंबित करने के लिए अपना प्रश्न अपडेट करूंगा – puk