अद्यतन 2010-2011:
zumalifeguard का समाधान ( उत्कीर्ण ) मूल एक की तुलना में सरल है, क्योंकि इसे अब शेल आवरण स्क्रिप्ट की आवश्यकता नहीं है।
जैसा कि मैं समझाता हूं कि " मैं विंडोज पर गिट के साथ काम करने के लिए एक संपादक कैसे सेट कर सकता हूं? ", मैं एक रैपर पसंद करता हूं, क्योंकि संपादकों को आज़माना और स्विच करना आसान है, या एक संपादक के पथ को बदलना, बिना रजिस्टर किए बदलाव करना। एक साथ git configफिर से ।
लेकिन वह मैं ही हूं।
अतिरिक्त जानकारी : निम्नलिखित समाधान साइगविन के साथ काम करता है , जबकि ज़ुमाइनेगार्ड का समाधान नहीं करता है।
मूल उत्तर।
निम्नलिखित:
C:\prog\git>git config --global core.editor C:/prog/git/npp.sh
C:/prog/git/npp.sh:
#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"
काम करेगा। उन आदेशों को शेल स्क्रिप्ट के रूप में व्याख्या किया जाता है, इसलिए किसी shस्क्रिप्ट में किसी भी विंडोज़ सेट को स्क्रिप्ट में लपेटने का विचार है ।
(जैसा कि फ्रेंकी टिप्पणी करता है : " .shयूनिक्स स्टाइल लाइन एंडिंग के साथ अपनी फ़ाइल को सहेजना याद रखें या रहस्यमय त्रुटि संदेश प्राप्त करें!"
SO प्रश्न पर अधिक विवरण मैं विंडोज पर गिट के साथ काम करने के लिए एक संपादक कैसे स्थापित कर सकता हूं?
'' -multiInst'विकल्प पर ध्यान दें , Git से प्रत्येक कॉल के लिए नोटपैड ++ का एक नया उदाहरण सुनिश्चित करने के लिए।
यह भी ध्यान रखें कि आपके द्वारा Git का उपयोग कर रहे हैं कि, Cygwin (और करना चाहते हैं Cygwin ++ से नोटपैड का उपयोग ), तो scphantm "में बताते हैं Cygwin अंदर Git के लिए नोटपैड का उपयोग कर ++ " है कि आप उस बारे में पता होना चाहिए:
gitयह एक cygwinरास्ता है और nppयह नहीं जानता कि इसके साथ क्या करना है
तो उस मामले में स्क्रिप्ट होगी:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
पठनीयता के लिए कई लाइनें:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$(cygpath -w "$*")"
"$(cygpath -w "$*")"यहां महत्वपूर्ण हिस्सा होने के साथ ।
Val ने टिप्पणी की (और फिर हटा दिया गया) जिसे आपको -notabbarविकल्प का उपयोग नहीं करना चाहिए :
यह रिबास के दौरान टैब को अक्षम करने के लिए अच्छा नहीं है, लेकिन तब से सामान्य नोटपैड की उपयोगिता को बहुत नुकसान पहुंचाता है -notab डिफ़ॉल्ट सेटिंग के और आपको Settings>Preferences>General>TabBar> Hide>uncheckहर बार रिबेस के बाद नोटपैड शुरू करना होगा । यह नरक है। आपने नरक की सिफारिश की।
इसलिए इसका उपयोग करें:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
अर्थात्:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
यदि आप स्क्रिप्ट npp.shको रिक्त स्थान वाले मार्ग में रखना चाहते हैं (जैसे कि 'c:\program files\... '), तो आपके पास तीन विकल्प हैं:
या तो पथ (एकल या दोहरे उद्धरण) को उद्धृत करने का प्रयास करें, जैसे:
git config --global core.editor 'C:/program files/git/npp.sh'
या शोर्टनाम नोटेशन ( मूर्खतापूर्ण नहीं) आज़माएँ :
git config --global core.editor C:/progra~1/git/npp.sh
या (मेरे पसंदीदा) जगह ' npp.sh' आपके %PATH%पर्यावरण चर के एक निर्देशिका भाग में । तब आपके पास स्क्रिप्ट के लिए कोई भी रास्ता बताने के लिए नहीं होगा।
git config --global core.editor npp.sh
टिप्पणियों में स्टिनी रिपोर्ट करना:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'