क्या ऐसे मामले हैं जहां vi एकमात्र विकल्प है?


22

क्या ऐसे परिदृश्य हैं जहां viएक फ़ाइल को Ubuntu वातावरण में बनाने, संपादित करने या संशोधित करने का एकमात्र विकल्प है?

मेरा प्रश्न मूल रूप से वास्तव में यह जानना है कि क्या कोई ऐसा मामला है जहां मुझे उपयोग करने के लिए मजबूर किया viजाएगा क्योंकि यह केवल एक ही विकल्प होगा जो उबंटू पारिस्थितिकी तंत्र में किसी विशेष मामले में उपलब्ध है।

सकता है एक विशेष मामले अस्तित्व जहां मैं किसी भी तरह अन्य विकल्पों के लिए पहुँच नहीं होगा की तरह nano, picoया बस जानकारी उपकरणों के साथ की तरह भेजने cat, sed, teeऔर अधिक?

मुझे लगता है कि यह एक सर्वर या क्लाउड की तरफ से अधिक है क्योंकि डेस्कटॉप पर कई और विकल्प हैं, लेकिन किसी से भी जो टर्मिनल का उपयोग करता है मैं उससे बहुत अधिक मांग करता हूं:

क्या ऐसा कोई मामला है?



8
@ टिम वास्तव में visudoकिसी भी संपादक का उपयोग कर सकते हैं। चूंकि उबंटू पर इसका डिफ़ॉल्ट कॉन्फ़िगरेशन EDITORऔर VISUALपर्यावरण चर का सम्मान करता है , आप sudo env VISUAL=emacs visudoईमेक के लिए या यहां तक gksudo env VISUAL=gedit visudoकि गेडिट जैसे ग्राफिकल संपादक के लिए भी दौड़ सकते हैं । ( sudo -Hया के sudo -iस्थान पर इस्तेमाल किया जा सकता है gksudo।) मैं इस envतरह से सुझाव देता हूं कि VISUAL=emacs sudo visudoकाम नहीं करेगा ( sudoअधिकांश पर्यावरण को रीसेट करता है) और इसे अस्वीकार्य माना जा sudo -EH सकता है।
एलियाह कगन

3
vi एकमात्र विकल्प है ... जब vi एकमात्र संपादक स्थापित होता है जिसे आप जानते हैं और आप दूसरे को स्थापित करने में समय व्यतीत नहीं करना चाहते हैं। vi सबसे अच्छा विकल्प है जब vi वह संपादक होता है जिसे आप जानते हैं / जो उपलब्ध हैं उनमें से सबसे अच्छा है और आप किसी एक को अधिक पसंद करने के लिए समय बिताना नहीं चाहते हैं। ऐसा कोई मामला नहीं है जहां केवल एक उपकरण किसी समस्या को हल कर सकता है; ऐसे समय हो सकते हैं जब विकल्प विवश होते हैं। और कुछ लोग वास्तव में vi पसंद करते हैं। (। नहीं मुझे मैं एक Emacs धर्मांध हूँ हालांकि मैं कई संपादक बर्दाश्त कर सकते हैं।।)
keshlam

3
cat? sed? वास्तव में? viवास्तव में यह उतना जटिल नहीं है, और यदि आप वास्तव में इसे सीखने के लिए परेशान नहीं हो सकते हैं, तो आपको केवल दो मोड्स (नॉर्मल और इंसर्ट मोड) को याद रखना होगा। आप तीर को तीर से घुमाते हैं (या उपलब्ध नहीं होने पर HJKL), संपादन शुरू करने के लिए "i" दबाएँ (मोड डालें)। एक बार जब आप कर लेते हैं, तो सामान्य मोड पर वापस जाने के लिए "Esc" दबाएं। लिखने और छोड़ने के लिए "wq" टाइप करें (लिखें + छोड़ें)।
स्लीपब्लांक

2
बस इसे चूसो और सीखो vi :) यह उतना कठिन नहीं है जितना कि यह पहली बार दिखाई देता है और एक बार जब आप जानते हैं कि आप किसी भी नए सिस्टम पर अन्य संपादकों के लिए शिकार करने में समय बर्बाद नहीं करेंगे।
जेम्सरन

जवाबों:


32

उबंटू पारिस्थितिकी तंत्र के अंदर , मुझे नहीं लगता कि यह मामला भी मौजूद हो सकता है , जैसा viकि कम से कम एक विम-टिनी होगा, जो पहले से ही "वास्तविक vim" से बहुत दूर है vi

संसाधन सीमित एम्बेडेड सिस्टम के संदर्भ में , जो सामान्य रूप से उबंटू नहीं हैं, आपके पास बस viएक लिंक हो सकता है जो एक लिंक है busybox। और जगह नहीं बची। फिर, viएकमात्र विकल्प है।

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

लेकिन ऐसी स्थितियां आसानी से हो सकती हैं, जहां एकमात्र विकल्पvi है जिसकी आप योजना बना सकते हैं , एकमात्र विकल्प जो कि भविष्य की स्थिति में सर्टिफिकेट मौजूद होगा - जो कि ग्राहक के ओवर-चिल्ड सर्वर रूम के अंदर होगा, सबसे संभवत:।

कल्पना कीजिए कि आपको ग्राहक कहा जाता है:

ग्राहक: मुझे इस कॉन्फ़िगरेशन को ठीक करने की आवश्यकता है! अभी व!! मुझे नहीं पता कि कैसे, लेकिन मैं आपको बता सकता हूं कि कॉन्फ़िगरेशन फ़ाइल कहां है। क्या आप मेरी मदद कर सकते हैं!?!

आप: ठीक है, यह किस तरह का सिस्टम है?

ग्राहक: ओह, यह सर्वर फू पर है, आह ... यह चल रहा है ... याद नहीं आ रहा है, अंत में "ix" के साथ कुछ , या "ux" के साथ mayeb ...

कोई बात नहीं, अब तक, आप जानते हैं कि वहाँ होगा vi!


1
मैंने व्यक्तिगत रूप से कई एम्बेडेड सिस्टम पर काम किया है जिसमें केवल एक पाठ संपादक के रूप में vi शामिल है, मेरा मानना ​​है कि बिल्डरोट और योक्टो दोनों के पास न्यूनतम कॉन्फ़िगरेशन विकल्पों का उपयोग करते समय एकमात्र संपादक के रूप में है। बेशक यह उबंटू पर एक मुद्दा नहीं है, लेकिन अगर आप एक एम्बेडेड देव हैं तो यह एक वास्तविक मुद्दा हो सकता है। हालाँकि, आप हमेशा कह सकते हैं कि ओपी ने कहा कि पाइप आधारित उपकरण जैसे कि सेड, सॉर्ट, ग्रिप और जैसे का उपयोग करें, हालांकि यह बहुत दर्दनाक हो सकता है।
वैधता

बिजीबॉक्स मामले वास्तव में एक अच्छी से एक है। इसके बारे में गुस्सा करना क्या है, मुझे नहीं लगता कि यह एक पूर्ण vi भी है (कम से कम यह एक दशक पहले नहीं था, और मुझे आशा है कि उन्होंने इसे फूला नहीं है, भले ही यह कष्टप्रद हो)।
hyde

1
busybox viहै 4k लाइन्स curl -s https://gitorious.org/busybox/busybox/raw/1c7a58dfb82ea04c525e0c19f94f2d800dee99e3:editors/vi.c | wc:;)
वोल्कर सीगल

17

वीआई कभी एकमात्र विकल्प नहीं है; आप हमेशा edइसके बजाय उपयोग कर सकते हैं ।


8
उदाहरण के लिए आर्क लिनक्स में, का edहिस्सा नहीं है base
मुरु

@ एमआरयू एफडब्ल्यूआईडब्ल्यू vimया तो नहीं है।
स्पर्हाक

4
@ श्रावक viहै।
मुरु

@ मूरू आह हाँ, बिल्कुल। मैं खुद को भ्रमित कर रहा था।
स्पार्कहॉक

edकेवल standard^इंस्टॉल का हिस्सा है । यदि आप minimalइंस्टॉल करते हैं, edतो इसमें शामिल नहीं है।
ओली

13

ठीक है, वहाँ एक मामला है जहाँ आपको viसंपादक की आवश्यकता है , मान लेते हैं:

  • ग्राफिकल इंटरफ़ेस नहीं है
  • आप कुछ अजीब अज्ञात *nixप्रणाली पर हैं
  • आपका टर्मिनल इस तरह दिखता है:

यहाँ छवि विवरण दर्ज करें

  • आपके पास इस तरह के बहुत सारे लोग हैं:

यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं कि कोई संख्यात्मक कीपैड नहीं है । वर्ष के साथ vi(और मेरा मतलब मूल पारंपरिकvi , नहीं vim, vim.tiny, या vim.basicइस कीबोर्ड के साथ एक फ़ाइल आप संपादित कर सकते हैं)। बिना तीर की चाबी ? हाँ, जब आप आदेश मोड में होने पर आप के साथ फ़ाइल के माध्यम से ले जाया गया h, j, kऔर lएक पेशेवर की तरह,। hछोड़ दिया गया था, jनीचे था, kऊपर lथा और सही था।


5
मुझे लगता है कि यह उत्तर वास्तव में बुरा नहीं है (टाइपराइटर जैसी कीबोर्ड मुठभेड़ के लिए पूरी तरह से असंभव चीज नहीं है), लेकिन वास्तव में इसका मतलब यह नहीं है कि आपको viविशेष रूप से आवश्यकता है। सभी पुराने पाठ संपादकों के पास "बैकअप" कुंजी संयोजन हैं जो आपको बिना तीर कुंजियों के काम करने की अनुमति देते हैं, हालांकि मैं हिम्मत करता हूं कि viएकमात्र संपादक है जहां आप तीर कुंजियों को याद नहीं करेंगे।
20

कुछ हद तक विषय: मुझे नहीं लगता कि आपको किसी भी पाठ संपादक के लिए संख्यात्मक कीपैड की आवश्यकता होगी , और तीर कुंजी वैसे भी विम में बेकार हैं। : पी
Doorknob

1
अरे, अच्छे पुराने छूट मत edकरो! उस तरह के सिस्टम पर इन "दृश्य" नौटंकी के लिए कोई ज़रूरत नहीं है! बस कागज टर्मिनल पर विम का उपयोग करने का प्रयास करें और देखें कि आप कैसे प्रबंधन करते हैं ... अधिक गंभीरता से, जानना edवैसे भी उपयोगी है, यह एक सभ्य विकल्प है जब संपादन को स्क्रिप्ट करने की आवश्यकता होती है।
हायड

आप उस कीबोर्ड के साथ कमांड मोड में कैसे स्विच करते हैं (मैं बच नहीं देखता? क्या उसके लिए एक और महत्वपूर्ण कॉम्बो था?)
फ़ून्स

@ फ़न एक एस्केप कुंजी है) = यह वह जगह है जहाँ टैब सामान्य रूप से होना चाहिए। Q- के बाईं ओर ।
अराजकता

6

इस तथ्य का तथ्य यह है कि, कई वितरण संपादकों में जैसे nanoऔर picoअभी मानक नहीं हैं, जबकि अन्य पैकेज, अर्थात् vim-tinyहैं। Ubuntu-minimal की पैकेज सूची के लिए यहां देखें, vim-tinyएकमात्र संपादक हैइस उत्तर के अनुसार, यह उबंटू सर्वर के लिए भी मामला है। मुझे पता है कि यह आधार डेबियन, फेडोरा के लिए भी है।

यह कहा जा रहा है, यदि आप nanoअपने सिस्टम पर हैं, तो मुझे अभी तक एक ऐसा मामला दिखाई दे रहा है, जहां आप viइसके बजाय उपयोग करना चाहते हैं , लेकिन, @ वोल्कर के जवाब से खेलना, अगर आप ग्राहक के लिए काम कर रहे हैं और नहीं है मूल प्रवेश? apt-get install nanoआप बहुत अच्छा करने के लिए नहीं जा रहा है (अगर यह भी बाहर इंटरनेट तक पहुँच है!)।


4

ऐसे कई मामले हैं जहां vi(और इसके द्वारा मैं स्वाभाविक रूप से इसका मतलब है vim.tinyक्योंकि यही हम जहाज हैं) केवल इंटरैक्टिव संपादक हो सकता है। यदि हम तितलियों और ब्रह्मांडीय किरणों को नजरअंदाज करते हैं, तो ये सबसे संभावित अवसरों की तरह प्रतीत होते हैं, जहां ऐसा हो सकता है:

  • आप केवल ubuntu-minimalआधार मेटा-पैकेज का उपयोग कर रहे हैं । यह निर्भर करता है vim-tiny लेकिन कोई अन्य संपादक नहीं। मुझे वर्तमान में standard^कार्य के बिना उबंटू स्थापित करने का एक तरीका नहीं मिल रहा है, लेकिन आप इसे स्थापना के बाद हटा सकते हैं:

    sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print $2}')
    

    मेरे पास व्यक्तिगत अनुभव है जहां मुझे standard^कार्य स्थापित किए बिना एक सिस्टम छवि सौंपी गई है। अगर मेरे पास नेटवर्क नहीं viहोता तो मेरा एकमात्र विकल्प होता।

  • एक ऐसे वातावरण में घूमना, जो केवल मैप करता viहै

  • अन्य सभी संपादकों को मैन्युअल रूप से nuking (और उन्हें पुनः स्थापित करने के साधनों को अक्षम करना)

  • viलॉन्च किए जाने के अलावा ज्ञात संपादकों को रोकने के लिए खोल को तोड़ना ।

एक सच्ची-न्यूनतम स्थापना सबसे संभावित कारण होगी, लेकिन इन दिनों वे काफी दुर्लभ हैं। कुछ VPS और क्लाउड होस्टिंग कंपनियाँ इनका उपयोग करती हैं (डिस्क स्पेस बचाने के लिए जितना कुछ और), लेकिन मैं सुझाव दूंगी कि वे निश्चित रूप से आदर्श नहीं हैं।


हमेशा की तरह एक शानदार जवाब। मुझे यह बहुत ज्ञानवर्धक लगता है।
लुइस अल्वाराडो

2

उन मामलों में जहां आप emacs स्थापित करने में सक्षम नहीं हैं, या उन मामलों में जहां आपको emacs स्थापित करने के लिए सक्षम करने के लिए कॉन्फ़िगरेशन फ़ाइल को संशोधित करने की आवश्यकता होती है। :-P


या ऐसे मामलों में जब आप एक बेहतर संपादक का उपयोग करना चाहते हैं जो emacs से बेहतर है। ( क्यू फ्लैमवार ): पी
डॉकर्नोब

3
निश्चित रूप से, यदि आप उबंटू का उपयोग कर रहे हैं, तो आपके पास पहले से ही एक ऑपरेटिंग सिस्टम है, इसलिए
इमैक

अरे, अच्छा कंघी। :-p
क्रेग

2

कई (सबसे?) व्यस्त-बॉक्स स्थापना केवल है vi

यह उबंटू विशिष्ट नहीं है, लेकिन यह कई एम्बेडेड उपकरणों का सच है।


2

वहाँ हमेशा बिल्ली, सिर, पूंछ है ... इसलिए मुझे यकीन नहीं है कि ऐसी प्रणाली है जहां आपके पास कोई विकल्प नहीं है, लेकिन यह संभव है कि आप उन प्रणालियों को ढूंढ सकें जहां आप emacs पसंद करते हैं, तो बेहतर विकल्प नहीं है ।

मेरा उदाहरण एक ऐसी प्रणाली थी जिसे मैंने एक बार प्रशासित किया था, जो या तो इतनी धीमी थी (या लाइन धीमी और दोषपूर्ण थी), कि कर्सर कुंजियों के साथ नेविगेट करते समय, यह अक्सर संपादित फ़ाइल में कचरा डालने और इंजेक्ट करने के लिए स्विच हो जाता है, और आंदोलन के लिए HJLL का उपयोग करता है। एकमात्र विश्वसनीय विकल्प था।


1
और निश्चित रूप से olde अच्छी पुरानी तितलियों !
वामवर्णबाउट

2

यहाँ मामला है जहाँ विम उबंटू पारिस्थितिकी तंत्र के भीतर एकमात्र विकल्प है: Ubuntu Snappyके अलावा किसी भी पाठ संपादक के साथ नहीं आता है vim-tiny। शायद भविष्य में एक होगा, लेकिन 2015-16 के रूप में नहीं। यदि आप सीरियल कंसोल या ssh पर Ubuntu Snappy का उपयोग करने जा रहे हैं, तो आप बेहतर उपयोग करने के लिए तैयार हैं vim


0

मैंने अपने आप को एक बार ऐसी स्थिति में पहुँचाया जहाँ केवल vi का लिनेमोडे काम कर रहा था। वास्तव में टर्मिनल परिभाषाओं को खराब करने के साथ कुछ करना। मूल रूप से लाइनमोड में केवल vi (यह सामान्य vi की तरह व्यवहार करता है यदि आप दिखावा करते हैं कि आपके पास 1 लाइन टर्मिनल है), पूर्व और एड काम करने जा रहे थे क्योंकि एकमात्र टर्मिनल परिभाषा "गूंगा" थी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.