संपादक को निष्पादित नहीं कर सका


153

मुझे अक्सर कई प्रतिबद्ध संदेशों को संशोधित करने की आवश्यकता नहीं है, लेकिन यह एक या दो बार हुआ है और मुझे कभी भी यह याद नहीं है। मुझे उम्मीद है कि किसी और के पास होगा। जब मैं git rebase -i HEAD~7, अपेक्षित सूची वास्तव में अपेक्षा के अनुरूप vi में खुल जाती है। मैं उन pickमूल्यों को बदलता हूँ editजहाँ उपयुक्त और फिर :wq

संपादक को निष्पादित नहीं कर सका

core.editorमेरे वैश्विक में सेटिंग .gitconfigहै vi(मैं भी करने के लिए इसे बदल दिया है vimएक बेतहाशा हताश चाल में)। मैंने उपयोग करने की कोशिश की mate, लेकिन उसने प्रारंभिक सूची को भी ठीक से नहीं खोला, इसलिए मैंने इसे वापस बदल दिया।

मैं v1.7.3 का उपयोग कर रहा हूं और किसी भी सुझाव का स्वागत करूंगा।


1
स्रोत शामिल हैं git_editor "$TODO" || die_abort "Could not execute editor"। चूंकि आप कहते हैं कि संपादक वास्तव में आता है, इसका मतलब है कि यह एक नॉनवेज एग्जिट कोड लौटा रहा है। क्या आप कमांड-लाइन पर सामान्य रूप से इसका उपयोग करते हुए उस व्यवहार को दोहरा सकते हैं?
कैस्केबेल

मेरे लिए अजीब बात है कि vi कमिट की सूची प्रदर्शित करने के लिए लॉन्च करता है, लेकिन जब मैं बचाता हूं और सब कुछ बंद करता हूं तो बस मर जाता है। जादुई रूप से काम करना शुरू करने के लिए मैंने जो बदलाव किया, उसके लिए मेरा जवाब देखें।
रॉब विल्करसन

क्या ओएस आप चल रहे थे? OSX शेर को चलाने से मुझे भी यही परेशानी हुई और आपके जवाब ने इसे ठीक कर दिया। +1
एडम लुईस

@ अदमलवीस - मुझे अभी यकीन नहीं हो रहा है, लेकिन शायद 10.6 या .7 को तारीख दी गई है। OSX, निश्चित रूप से।
रोब विल्करसन

5
मुझे लगता है कि मैंने इस समस्या को तब बनाया जब मैंने एक नई विम स्थापित करने के लिए होमब्रे का उपयोग किया। git config --global core.editor "/usr/local/bin/vim"मेरे लिए यह तय करना ।
21

जवाबों:


185

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


6
आपने / usr / bin / vi के लिए पूर्ण पथ कहाँ सेट किया?
अमला

131
मैंने इसे अपनी वैश्विक कॉन्फ़िग फ़ाइल में रखा है git config --global core.editor "/usr/bin/vim":।
रोब विल्करसन

मेरी भी यही समस्या थी। जिन कारणों से मैं थाह नहीं पा रहा हूं, मेरा core.editor सेटिंग / usr / bin / vim के बजाय / user / bin / vim पर सेट किया गया था
jonnybot

एक ही मुद्दा था लेकिन उदात्त पाठ के साथ - पूर्ण पथ ने अंततः चीजों को हल किया। जो अजीब था क्योंकि मुझे यकीन है कि इसके सभी ने पहले भी ठीक काम किया ...: - \
हैल

git config --global color.editor "/usr/local/bin/vim"मेरे लिए काम किया :), धन्यवाद
przbadu

159

निम्नलिखित आदेश

git config --global core.editor /usr/bin/vim

इसे ठीक करता है।

[संपादित करें]

अब मैं देखता हूं कि किसी ने पहले ही इसे टिप्पणियों में पोस्ट कर दिया है। आशा है कि यह मेरे जैसे कुछ अंधे लोगों के लिए अभी भी उपयोगी है।


6
उदाहरण के लिए विंडोज के लिए (एकल उद्धरण याद कर रहे हैं, मेरी समस्या थी): git config --global core.editor "'C: \ Program Files (x86) \ Vim \ vim74 \ vim.exe'"
chrjs

1
हां, यह ^ इसे स्पष्ट करने के लिए, निष्पादन योग्य पथ के चारों ओर एकल उद्धरणों के आसपास दोहरे उद्धरण चिह्नों का उपयोग करें।
जैकब

एक जादू की तरह काम करता है!
R11G

7

यहाँ अभी तक अन्य उत्तरों के विपरीत, मेरे लिए vi के लिए पूर्ण पथ का उपयोग करना, और git core.editorconfig सेट करना , समस्या को हल करने के लिए पर्याप्त नहीं थे। (वे पहले से ही जगह में थे।)

मेरी स्थिति में, vi कमांड में -fध्वज को जोड़ने से समस्या हल हो गई थी :

git config --global core.editor '/usr/bin/vi -f'

एक बार यह -fविकल्प आने के बाद , मैं उपयोग कर सकता हूंgit rebase -i , और जब मैं प्रतिबद्ध सूची को सहेजता हूं और बाहर निकलता हूं, तो रिबास आगे बढ़ता है क्योंकि इसे "संपादक को निष्पादित नहीं कर सकता" त्रुटि देने के बजाय।

Vim आदमी पेज विकल्प के संबंध में कहते हैं -f,

जीयूआई संस्करण के लिए, विम को उस शेल से कांटा और अलग नहीं किया जाएगा, जो ... इस विकल्प का उपयोग तब किया जाना चाहिए जब विम को एक प्रोग्राम द्वारा निष्पादित किया जाता है जो संपादन सत्र समाप्त होने का इंतजार करेगा (जैसे मेल)।

अच्छी तरह से मैं एक जीयूआई संस्करण का उपयोग नहीं कर रहा हूं, जो मुझे पता है। मैं gitmasOS Sierra 10.12.6 पर एक टर्मिनल विंडो में bash कमांड लाइन पर चल रहा हूं । लेकिन चूंकि git rebase -iसंपादन सत्र समाप्त होने की प्रतीक्षा है, इसलिए मुझे लगता है कि -fयहां विकल्प आवश्यक है। हो सकता है कि विम (बिना -f) किसी कारण से शेल से कांटा / अलग करने की कोशिश करता हूं, जिसे मैं समझ नहीं पा रहा हूं।


6

मेरे पास यह मुद्दा था, और यह विम के लिए vcscommand प्लगइन के कुछ हिस्से के कारण था। इनमें से किसी भी आदेश के साथ vim शुरू करने के परिणामस्वरूप बाहर निकलें कोड 1 ("त्रुटि"):

  • vi
  • vim

लेकिन इनसे मुझे 0 ("सफलता") से बाहर निकलने का कोड मिला:

  • /usr/bin/vi
  • /usr/bin/vim
  • vi -u NONE
  • vim -u NONE

मैं इसे फिर से अक्षम करके ~/.vimrcऔर फ़ाइलों को पुनः ~/.vimनामांकित करके और vi -c q ; echo $?जल्दी से चलाने के लिए और निकास कोड को प्रिंट करके विशिष्ट प्लगइन को वापस ट्रेस करने में सक्षम था ।


1
मेरे पास एक ही समस्या थी और काम करने का पूरा रास्ता तय करना: git config --global core.editor / usr / bin / vim
James

एक और संभावित अपराधी मैक ओएस एक्स पर रोगज़नक़ प्लगइन लगता है ।
sschuberth

3

मेरे लिए, यह मेरे .vimrc के साथ एक समस्या थी। अस्थायी रूप से उस फ़ाइल का नाम बदलकर इसे ठीक कर दिया। मेरे .vimrc डिबगिंग द्वारा अनुसरण किया गया। यह आग्नेय के अनुभव के समान है।


हाँ, मेरे पास मेरे पास .vimrc में साइलेंट कलर्सकेम मैकविम था, कलर्सकेम को सेट करने के लिए कि अगर यह अस्तित्व में है, और मुझे बग नहीं करने के लिए यदि यह नहीं हुआ (तो कमांड लाइन विम काम करेगा)। दूसरी ओर, कि बाहर निकलने की स्थिति को 1 में बदल दिया जब वह विफल हो गया, यहां तक ​​कि चुप भी!
मैक्स

3

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

 git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

1

मेरी एक प्लगिन को अपनी समस्या को ट्रैक करने में मुझे बस कुछ समय लगा।

(विशेष रूप से, यह https://github.com/ervandew/supertab था )

मुझे लगता है कि यह मेरे सभी प्लगइन्स को स्वचालित रूप से अपडेट करने के लिए नकारात्मक पक्ष है।

तो सबसे अच्छी सलाह, अपने vimrc और प्लगइन्स को आधा अक्षम करें। यदि वह मदद नहीं करता है, तो समस्या आपके अन्य आधे के साथ है।


सुपरटैब के साथ भी मेरी यही समस्या है।
हरितस्की

आपने इसे सुपरटैब पर कैसे ट्रैक किया? यह वास्तव में उपयोगी जानकारी होगी।
जस्टिन फोर्स

1

एक अन्य विकल्प nanoसंपादक का उपयोग करना है ।

$ whereis nano
$ git config --global core.editor path/to/nano

इसे ठीक करता है।


1

मैं यहां दिखाए गए अनुसार स्क्वैश करने की कोशिश कर रहा था https://www.youtube.com/watch?v=V5KrD7CmO4o । मेरे गिट संपादक (नोटपैड ++) ने रिबासिंग चरण में खोला। लेकिन, संशोधन के संदेश कदम में, मैंने देखा कि "संपादक को निष्पादित नहीं कर सका" मुद्दा। यह शायद इसलिए हुआ क्योंकि जीट संपादक सेटिंग्स गलत थी और इसलिए भी कि मैंने अपने विंडोज़ सिस्टम पर एक गैर-मानक स्थान पर नोटपैड ++ स्थापित किया था। यानी 'git config core.editor' ने मुझे दियाnotepad++ -multilnst- nosession

समस्या को ठीक करने के लिए, इस तरह पूर्ण पथ प्रदान करें:

git config --global core.editor "'C:\CustomFolder\NPP\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

देखें: https://www.youtube.com/watch?v=YLxdkcT6H4g


0

क्या आप सुनिश्चित हैं कि / usr / bin / vim 1.7.3 पर था? मेरे पास एक ही मुद्दा था क्योंकि मेरे पास बैकअप प्लगइन स्थापित था जो केवल 1.7.3 में समर्थित है और किसी कारण से / usr / bin / vim अचानक बंद हो गया था 1.7.2, शायद XCode के एक प्रमुख अपडेट के कारण। ..


0

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


0

अजीब तरह से पर्याप्त है, बस कोशिश कर रहा है फिर से मेरे लिए काम किया।

मेरे Core.editor और $ EDITOR चर सेट नहीं हैं।


0

मेरे लिए, विंडोज़ का उपयोग करते हुए: वर्तमान टर्मिनल बंद करें, और एक और एक खोलें (जीत + आर, टाइप करें 'cmd', फिर 'एन्टर'), फिर यह अचानक काम करता है।


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