मैं एक सरल vi / vim विकल्प के रूप में किस संपादक का उपयोग कर सकता हूं?


17

मैं उबंटू के बैश में डब्लूएसएल के लिए धन्यवाद करने के लिए आने वाला विंडोज उपयोगकर्ता हूं । अब मुझे कुछ फ़ाइलों को संपादित करने की आवश्यकता है और मैं वास्तव में वीआई से नफरत करता हूं। क्या मुझे सिर्फ इससे निपटना है या इसका कोई सरल विकल्प है?

मैं जिन विशेषताओं की तलाश कर रहा हूं वे हैं:

  • सीएलआई आधारित
  • उपयोग करने में आसान (टाइपिंग और संपादन नोटपैड के समान होना चाहिए)
  • सरल संपादन क्षमताएं पर्याप्त हैं

मैं विम को मास्टर करने की कोशिश करूंगा, लेकिन मुझे अभी एक त्वरित संपादन करने की आवश्यकता है!


यह राय का विषय है। शुरुआती लोग नैनो howtogeek.com/howto/42980/… का उपयोग करते हैं । vim (vi में सुधार) में सीखने की अवस्था थोड़ी है लेकिन यह बहुत शक्तिशाली है - देखें linux.com/learn/vim-101-beginners-guide-vim या कोई विम गाइड या विम ट्यूटोरियल, vimtutor (विम में शामिल)
पैंथर

कृपया ध्यान दें कि यह प्रश्न काफी राय-आधारित के रूप में बंद हो सकता है। आप इसे साइट के नियमों को फिट करने के लिए फिर से तैयार करना चाहते हैं (उदाहरण के लिए मैं विम के विकल्प के रूप में क्या उपयोग कर सकता हूं?)
एंड्रिया लाज़रोज़ेटो

3
राय-आधारित प्रश्न के रूप में इसे बंद करने की वोटिंग। सलाह का शब्द: नैनो के साथ शुरू, और बाद में बच्चे के चरणों के साथ विम करने के लिए संक्रमण। यह लंबे समय में भुगतान करेगा क्योंकि विम मूल रूप से किसी भी लिनक्स सिस्टम पर है
सर्गिय कोलोडियाज़नी

1
मेरी टिप्पणी के अनुसार, वर्तमान शीर्षक अभी भी बहस का विषय है और समापन तक ले जा सकता है। लोग खुद को "अच्छा" मान सकते हैं, और यह व्यक्तिपरक है। क्या मैं इसके बजाय "आसान" शब्द का उपयोग करने का सुझाव दे सकता हूं? इसके अलावा कुछ वांछित विशेषताओं को निर्दिष्ट करने से प्रश्न को कम करने में मदद मिल सकती है।
एंड्रिया लज्जाज़ारो

2
@Jos हम डब्ल्यूएसएल के बारे में बात कर रहे हैं जहां जीयूआई कार्यक्रम चलाए जा सकते हैं लेकिन तुच्छ नहीं है। यह भी सवाल जीयूआई संपादकों के लिए मौजूद नहीं होगा क्योंकि वे सभी विम की तुलना में आसान हैं।
एंड्रिया लज्जाज़ारो

जवाबों:


24

यदि आप एक वैकल्पिक संपादक की तलाश में हैं, तो आप अकेले नहीं हैं। मूल रूप से जीवन सीखने के लिए बहुत छोटा है viऔर मैं कहता हूं कि यह एक जीवित रहने के लिए एक सॉफ्टवेयर डेवलपर है। हालाँकि आपको सीखना चाहिए कि इसे कैसे बाहर निकालना है क्योंकि यह 20k प्रोग्रामर में से एक के लिए एक समस्या है । कुछ बुनियादी एपेंड / इंसर्ट ऑपरेशन करना भी सीखने लायक हो सकता है, क्योंकि कुछ जिद्दी सर्वरों पर आपको कोई अन्य संपादक नहीं मिलेगा।

अब, आपके प्रश्न का उत्तर शायद है nano

यदि आप कुछ स्वचालित निर्माण स्क्रिप्ट gitचला रहे हैं, तो अन्य आदेशों का उपयोग या चला रहे हैं, वे vimइसे आपके बिना भी खोल सकते हैं । आगे बढ़ने से पहले आप इसे रोक सकते हैं:

export EDITOR=nano

1
धन्यवाद! EDITORटिप के लिए अतिरिक्त बिंदु
sebagomez

3
"Vi सीखने के लिए मूल रूप से जीवन बहुत छोटा है"। पूरे जीवन बिताने की कोई जरूरत नहीं है, हालांकि अगर वे विम से प्यार करते हैं तो कोई भी कर सकता है। मैंने YouTube पर एक अच्छा ट्यूटोरियल देखने में 2 घंटे बिताए, और बस मूल बातें अभ्यास करता रहा जो मैंने वीडियो से सीखा था। अब पूछ उबंटू पर मेरे सभी उत्तरों का 70% vim में लिखा गया है।
सर्गी कोलोडियाज़नी

7
"जीवन बहुत छोटा है" पर, मुझे लगा कि इस निबंध में एक अच्छा बिंदु था। विम सीखने में सबसे बड़ी (कृत्रिम) बाधाओं में से एक गलत आधार है जिसे आपको "हार्ड कोर" उपयोगकर्ता बनने में तुरंत गोता लगाने की आवश्यकता है। तुम नहीं। तीर कुंजी का उपयोग करें। कॉपी / पेस्ट करने के लिए GUI शॉर्टकट का उपयोग करें। इन्सर्ट मोड में हैंग करें। टैब और रजिस्टर और घंटियाँ और सीटी की उपेक्षा करें (अब के लिए)। विम में नैनो-स्तरीय कार्यक्षमता प्राप्त करना अपेक्षाकृत जल्दी है, और आप बाद में धीरे-धीरे उन्नत सुविधाओं को जोड़ सकते हैं, जैसा कि आपको उनकी आवश्यकता है।
आरएम

@ आरएम जीयूआई शॉर्टकट?
एंड्रिया लज्जाज़ारो

1
यदि आप उन्नत सुविधाओं का उपयोग करना चाहते हैं तो @Sergiy विम समझ में आता है। अगर मुझे vim का उपयोग करना था जैसे कि मैं नैनो का उपयोग करता हूं तो मैं सिर्फ नैनो का उपयोग करता रहूंगा (तथ्य की बात के रूप में, मैं करता हूं ... मैं विम का उपयोग करता हूं जब मैं एक ऐसे सर्वर पर हूं जिस पर मैं सॉफ्टवेयर नहीं जोड़ सकता हूं, जैसे ग्राहक की मशीन)।
एंड्रिया लज्जाज़ारो

11

यह राय का विषय है।

शुरुआती नैनो का उपयोग करते हैं ।

vim ("vi बेहतर") में सीखने की अवस्था थोड़ी है लेकिन यह बहुत शक्तिशाली है। देखें vim के लिए इस आरंभिक मार्गदर्शिका या किसी अन्य vim गाइड या vim ट्यूटोरियल vimtutor(vim में शामिल है)।

अभी के लिए मैं अत्यधिक नैनो का सुझाव देता हूं

nano -B /path/to/file/to/edit

-बी एक बैकअप बनाता है

कमांड नियंत्रण कुंजी के साथ जारी किए जाते हैं और संपादक विंडो के नीचे सूचीबद्ध होते हैं।

सिंटैक्स हाइलाइटिंग पर 'ए गाइड' देखें: मैं नैनो में सिंटैक्स हाइलाइटिंग को कैसे सक्षम करूं?

नैनो

emacsदोनों के लिए एक वैकल्पिक है vimऔर nanoऔर साथ ही साथ कई फायदे हैं। emacsनैनो से अधिक जटिल है। आप emac का टूर देख सकते हैं ।

पूर्णता के लिए, ज़ेनबर्न जैसे विषय + विषय काफी मददगार हो सकते हैं

Zenburn


2
केवल शुरुआती ही नहीं, मूल रूप से सभी मनुष्यों कि वीम बनाम ईमैक्स युद्धों में प्रवेश नहीं करना चाहते हैं। : पी
एंड्रिया लाज़रोज़ेटो

1
+1 मैं नैनो के साथ भी जाऊंगा, यहां तक ​​कि लंबे समय तक उपयोगकर्ता vi कुछ पुराने बकवास की तरह दिखते हैं
xavier_fakerat

ठीक है, निष्पक्ष होने के लिए, आप vim कर सकते हैं और a .vimrc एक लंबा रास्ता तय करता है। vim और emacs में उन्नत विशेषताएं हैं जो नैनो में उपलब्ध नहीं हैं, लेकिन यह एक बेकार है यदि आप उन्नत सुविधाओं का उपयोग नहीं करते हैं। त्वरित मूल संपादन के लिए, मैं नैनो का उपयोग करता हूं, हालांकि कुल मिलाकर मैं एक विम फैनबी हूं। kippura.org/zenburnpage
पैंथर

1
जानें vi/vim। :) यह हर निक्स डिवाइस पर है। :) मूल बातें इतनी कठिन नहीं हैं।
भगोड़ा

3
"emacs नैनो की तुलना में अधिक जटिल है।" : पी इस साल की ख़ामोशी हो सकती है।
डैनियल जर्स

3

विंडोज़ पॉवरसुसर के रूप में, कोशिश करने के बाद vimऔर nanoमुझे पता चला कि मुझे बीच में कुछ चाहिए, जटिलता बुद्धिमान। इसलिए मैंने थप्पड़ मारने की कोशिश की और यह वह चीज थी जिसकी मुझे तलाश थी।

थप्पड़ छवि

थप्पड़ एक उदात्त-जैसा टर्मिनल-आधारित पाठ संपादक है जो टर्मिनल से संपादन को आसान बनाने का प्रयास करता है।


स्थापना:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh

1
आप मुख्य विक्रय बिंदु, उल्लेख करना भूल गया प्रथम श्रेणी माउस समर्थन (यहां तक कि एक SSH कनेक्शन से अधिक)
blueray

2

क्या आपको कभी निराशा हुई है कि आपका पाठ संपादक वह नहीं कर रहा था जो आप चाहते थे? गुस्सा है कि आप याद नहीं कर सकते ...

  • ... कैसे करें मदद?
  • ... क्या: wq का मतलब है?
  • ... किसी भी छोटे कानाफूसी जो आप एक अंडरग्रेड के रूप में पढ़ते हैं?

एक छोटी, बहादुर दुनिया का इंतजार!

जब हम अपने पसंदीदा हल्के पाठ संपादकों की वकालत कर रहे हैं, तो मुझे eXcellent, छोटे और तेज xo(एक्सोफ्रिल्स) की सिफारिश करने दें ।

यह एक एकल पायथन 3 फ़ाइल है, और इसमें पायरेक्ट्स के माध्यम से हाइलाइटिंग के लिए अच्छा समर्थन है (हालांकि गैर-पायथन के साथ बिल्कुल सही नहीं):

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

इसमें बेहद सरल और उपयोगी कुंजी संयोजन हैं जो आसानी से और आसानी से आपके दिल की सामग्री में बदल सकते हैं:

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

अन्य सुविधाओं:

  • एक फ़ाइल में कोड की 850 से कम लाइनें!
  • वाक्य - विन्यास पर प्रकाश डालना!
  • मिलान और जगह की नियमित अभिव्यक्ति!
  • खोज इतिहास कैशिंग!
  • WTFPL लाइसेंस प्राप्त!
  • पूरी तरह से अनुकूलन!
  • गैर-मूल स्थानों पर शुरू करें!
  • एक लाइन पर शब्दों के बीच हॉप!
  • फ़ाइल में कहीं भी कूदो!
  • पूरी फ़ाइल प्रविष्टि!
  • शुरुआती दोस्ताना - शायद आप शब्दों के लिए नए हैं!
  • पाठ कॉपी और पेस्ट करें!
  • रेखा और स्तंभ स्थिति!
  • गैर-पाठ संपादन स्थान की केवल एक पंक्ति!
  • बचत और लोडिंग दोनों!

Python3 स्रोत github पर है , और आप इसे आसानी से उपयोग करके स्थापित कर सकते हैं:

sudo apt install python3-pip
sudo pip3 install exofrills 

exofrills: आपका पाठ संपादित किया गया है ... लेकिन आप अभी भी भूखे हैं।

अस्वीकरण: मैं किसी भी तरह से एक्सोफिल्स परियोजना से संबद्ध नहीं हूं।


1
यह मुझे बहुत साफ दिखता है। हालांकि विस्मयादिबोधक चिह्न की राशि परेशान है। : पी
एंड्रिया लाज़रोज़ेटो

0

हालांकि मैं इस बात से इनकार नहीं कर सकता कि मैं भी शुरुआत में vi से जूझता था, मुझे लगता है कि एक तर्क दिया जा सकता है कि vi वास्तव में सीखने के लिए बहुत सरल है। (जब मैंने यूनिक्स का उपयोग करना शुरू किया तो चुनाव या तो vi या emacs था, इसलिए जिस समय मैंने एड चुना, एड एक बहुत ही सरल लाइन एडिटर था, जिसे मैंने पहले से ही यूनिक्स टेक्स्टबुक्स पढ़ने से सीखा था।) मैं vi दैनिक का उपयोग करता हूं, लेकिन मैं शायद। इसकी विशेषताओं का केवल एक बहुत छोटा सबसेट उपयोग करें।

Vi का उपयोग करने के लिए पहले एक तर्क दिया गया है: vi सभी प्रणालियों पर मौजूद है, बहुत कम संसाधनों का उपयोग करता है, और अस्थिर और धीमी कनेक्शन पर प्रयोग करने योग्य हो सकता है, जहां अन्य संपादक विफल हो सकते हैं या धीमे और अनुपयोगी हो सकते हैं। या ऐसी स्थितियों में जहां सिस्टम टूट गया है, इसलिए तीर कुंजियों की सही तरीके से व्याख्या नहीं की जाती है (उदाहरण के लिए खराब टर्मोफ सेटिंग।) तो समस्या से प्रभावित होने वाले कॉन्फ़िगरेशन फ़ाइलों को समस्या के बिना ठीक करने के लिए vi का उपयोग किया जा सकता है।

और यहां बताया गया है कि vi का एक उपयोगी सबसेट कैसे सीखना है: पहला: vi को एक इंटरैक्टिव, टर्मिनल-जीयूआई "संपादक" के रूप में सोचना बंद करें, और इसे पाठ फ़ाइलों में हेरफेर करने के लिए एक प्रोग्रामिंग भाषा के रूप में देखें। शुरुआत में "vi" छठी विधा के लिए खड़ा था, और vi में एक गैर-विवादास्पद समकक्ष पूर्व है, जो शुरू करने के लिए एक अच्छी जगह है। शेल प्रॉम्प्ट पर पूर्व टाइप करें (मैं रिटर्न का प्रतिनिधित्व करने के लिए prompt का उपयोग करेगा):

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

अब एंटर दबाएं।

:¬
E749: empty buffer
:

तो, कुछ इसमें डालते हैं। "A Type" टाइप करें, और पाठ की एक पंक्ति टाइप करें, फिर एक पंक्ति अपने आप में एक अवधि:

:a¬
Hello World¬
.¬
:

यही अपेंड कमांड था। आसान, छोटा और महामारी। लेकिन यह देखना अच्छा होगा कि बफर में क्या है:

:%p¬
Hello World
:

यह स्पष्ट रूप से प्रिंट कमांड, पी था। % एक लाइन रेंज शॉर्टहैंड है। प्रत्येक कमांड लाइन संख्या या सीमा से पहले हो सकती है जिसे कमांड को लागू करना चाहिए। % का अर्थ है "सभी लाइनें"। $ का अर्थ है अंतिम रेखा, और एक अवधि का अर्थ है वर्तमान रेखा। एक संख्या का मतलब है कि विशेष रेखा। एक श्रेणी n, m लिखी जाती है और एक संख्या को जोड़ा या घटाया जा सकता है, इसलिए। + 1, $ - 1 का अर्थ अगली पंक्ति से दूसरी-अंतिम पंक्ति तक होता है। एक कमांड जिसमें केवल एक पंक्ति संख्या होती है, उस रेखा पर जाती है। यहाँ मेरे द्वारा उपयोग की जाने वाली शेष छोटी संख्या है:

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w किसी फ़ाइल में सभी (या चुनी हुई रेंज) लाइनों को लिखता है।

:1d¬

लाइन 1 को हटाता है।

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s एक नियमित अभिव्यक्ति का विकल्प है। नियमित अभिव्यक्ति जानना अच्छा है!

:q¬
E37: No write since last change (add ! to override)

q क्विट करता है। wq लिखता है और क्विट करता है। क्ष! लेखन के बिना, और एक समान नस में, डब्ल्यू! यदि संभव हो तो एक फाइल को लिखने के लिए मजबूर करता है।

अब एक शांत:

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

! एक कमांड के रूप में एक शेल कमांड में लाइनों को फ़िल्टर करता है।

और अंत में:

:vi¬

प्रवेश मोड में प्रवेश करता है। मूर्ख मत बनो। यह एक संपादक की तरह दिखता है, लेकिन यह अभी भी एक इंटरैक्टिव प्रोग्रामिंग शेल है। आपको बस हर समय बफर को देखने के लिए मिलता है, और कुछ और कमांड। दृश्य मोड में a: दिखाता है: पूर्व मोड से संकेत मिलता है। तीर कुंजी (यदि वे काम करते हैं) चारों ओर घूमती हैं, और यदि वे नहीं करते हैं, तो hjkl करते हैं! h बाएँ, j नीचे, k ऊपर और l दाएँ। 0 पहले वर्ण पर ले जाता है और ^ (यहां पर रेगेक्स लगता है!) लाइन पर पहले गैर-स्थान वर्ण पर जाता है। $ (रीगेक्स फिर से!) लाइन के अंत में जाता है। टाइपिंग: 999 like स्वाभाविक रूप से एक्स मोड की तरह, लाइन 999 तक जाती है।

"i" इंसर्ट मोड में प्रवेश करता है, जो अब लाइनों के बजाय वर्णों पर सम्मिलित करता है, और ".¬" के बजाय प्रेसिंग एस्केप से समाप्त होता है। "मैं" शुरुआत में सम्मिलित करता हूं, "ए" कर्सर के नीचे चरित्र के बाद, और "ए" वर्तमान लाइन के अंत के बाद। टेक्स्ट लिखते समय हमेशा बच को दबाएं। "x" कर्सर के नीचे के वर्ण को हटाता है, और "D" कर्सर से लाइन के अंत तक हटा देता है। "Y" यान (प्रतियां) वर्तमान रेखा है, और "P" इसे वापस चिपका देता है। ", पु" ऐसा ही करता है, लेकिन एक पंक्ति संख्या से पहले किया जा सकता है। "Y", "Y" का पूर्व समतुल्य है, और फिर से, लाइन रेंज पर लागू करने के लिए उपयोगी है। मुझे लगता है कि एक मार्क कमांड भी है, लेकिन मैं स्वीकार करूंगा कि मुझे यह याद नहीं है। मुझे इसकी कमी नहीं है।

उपरोक्त वह है जो मैं उपयोग करता हूं, और मुझे पता है कि मैं शायद बहुत "कुशल" vi उपयोगकर्ता नहीं हूं। दूसरी ओर, मैं पूर्व की बहुमुखी प्रतिभा का उपयोग करता हूं, उदाहरण के लिए कॉन्फ़िगरेशन कॉन्फ़िगरेशन फ़ाइलों को स्क्रिप्ट करने के लिए। कई फाइलों में अपने होस्टनाम foo.bar.com को www.foobar.com में बदलने की आवश्यकता है?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

मैं जो कहना चाह रहा हूं, वह यह है कि मुझे लगता है कि vi के साथ समस्या यह है कि लोग इसे एक कठिन संपादक मानते हैं। यह सब अपनी मानसिकता को थोड़ा बदलना है, और इसे एक बहुत ही सरल अभी तक बहुत शक्तिशाली इंटरैक्टिव प्रोग्रामिंग भाषा के रूप में देखना है। इतना शक्तिशाली कि उपलब्ध कमांडों के एक सबसेट के साथ भी, आप इसे बहुत प्रभाव के लिए उपयोग कर सकते हैं - न केवल एक संपादक के रूप में, बल्कि एक सामान्य, स्क्रिप्ट योग्य टूल के रूप में अच्छी तरह से बाकी यूनिक्स के साथ एकीकृत। मुझे शक है कि नैनो यह सब करेगी - emacs ... शायद।


3
क्षमा करें लेकिन ... इस सवाल का जवाब नहीं है। ओपी ने विम के विकल्प के लिए कहा और उत्तर प्रदान करना चाहिए।
एंड्रिया लज्जाज़ारो

1
मैं इस उत्तर में आपके द्वारा डाले गए कार्य की प्रशंसा करता हूं, लेकिन यह वास्तव में इस सवाल का जवाब नहीं देता है - एक ट्यूटोरियल और विम के लिए प्लग यहां बिल्कुल नहीं है, लेकिन यह आपके ब्लॉग पर संबंधित है।
बिल्ली

यह उत्तर वास्तव में क्यों इतने सारे लोग viemacs के लिए एक विकल्प के लिए पूछ रहे हैं - जितना अधिक हम कहते हैं कि वे उपयोग करने के लिए अप्रिय हैं, जितना अधिक परिवर्तित आग्रह है कि हम उन्हें उपयोग करने के लिए कठिन प्रयास करते हैं।
शुकरी एडम्स

0

यदि आप माउस-सपोर्ट के साथ टेक्स्ट-एडिटर जैसे टर्मिनल-आधारित सबलाइम चाहते हैं , तो माइक्रो , थप्पड़ या सुपलेमन के लिए जाएं

हालाँकि, यदि आप एक मोडल टेक्स्ट एडिटर की तलाश कर रहे हैं, तो काकुने से आगे नहीं देखें

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