मैं msysgit के साथ Notepad ++ (या अन्य) का उपयोग कैसे करूं?


210

मैं Notepad ++ (या vim के अलावा किसी अन्य संपादक) का उपयोग कैसे करूँ?

मैंने निम्न में से कोई भी लाभ उठाने की कोशिश नहीं की:

git config --global core.editor C:\Program Files\Notepad++\notepad++.exe

git config --global core.editor "C:\Program Files\Notepad++\notepad++.exe"

git config --global core.editor C:/Program Files/Notepad++/notepad++.exe

git config --global core.editor C:\\Program Files\\Notepad++\\notepad++.exe

1
कोई त्रुटि संदेश? क्या आपने EDITOR पर्यावरण चर स्थापित करने की कोशिश की है?
सीएसएल

4
यहाँ देखने का प्रयास करें: stackoverflow.com/questions/10564/…
जेसनट्रू

अनुरोध के अनुसार रिक्त स्थान सहित स्क्रिप्ट के पथ के बारे में कुछ जानकारी जोड़ी गई।
VonC

जवाबों:


76

अद्यतन 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"'

मुझे यह मेरी ड्राइव की जड़ में npp.sh रखकर काम करने के लिए मिला (यानी - C: /npp.sh)। किसी भी समय मैं रिक्त स्थान के साथ एक फ़ोल्डर को लक्षित करने का प्रयास करता हूं (यानी - डी: / प्रोग्राम फाइल्स (x86) /Git/npp.sh) इसमें विफल रहता है, रिक्त स्थान से बचने और / या काम करने का यह उचित तरीका क्या है?
PHLAK

इसके चारों ओर उद्धरण रखो। देखें कि उन्होंने अपने उदाहरण में पूरी बात कैसे उद्धृत की है?
फ्रेड

2
ज़ुमलाइफ़गार्ड के जवाब ने मेरे लिए काम किया। इसके लिए शेल स्क्रिप्ट रैपर की आवश्यकता नहीं होती है।
विनबर्ड ऑक्ट

1
@wbinford: मैंने zumalifeguard के उत्तर का लिंक जोड़ा है (जो मैंने अपवित किया था), साथ ही साथ मैं सीधे आदेश के बजाय एक रैपर को पंजीकृत करना पसंद करता हूं।
VonC

1
मैंने ऊपर के कई संयोजनों की कोशिश की है और कोई भी काम नहीं करता है। मेरे पास मेरे रास्ते में मेरी npp स्क्रिप्ट है और अगर मेरे cygwin कंसोल से मैं टाइप करता हूं, तो "npp {file}" एनपीपी फाइल को ठीक खोलता है, लेकिन जब मैं "git rebase -i" करता हूं, तो npp फाइल के बजाय एक खाली फाइल के साथ खुलता है मर्ज फ़ाइल। किसी भी विचार क्यों ऐसा होगा?
स्क्यूम

433
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

या, 64-बिट विंडोज के लिए और नोटपैड ++ की 32-बिट इंस्टॉल:

git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

या, कमांड लाइन पर 32-बिट या 64-बिट विंडोज पर जारी किया जा सकता है। यह नोटपैड ++ का स्थान खींच लेगा। रजिस्ट्री से बाहर निकलें और इसे स्वचालित रूप से उपयोग करने के लिए गिट कॉन्फ़िगर करें:

FOR /F "usebackq tokens=2*" %A IN (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" /ve`) DO git config --global core.editor "'%B' -multiInst -notabbar -nosession -noPlugin"

यदि आप एक .BAT या .CMD फ़ाइल से ऊपर रखना चाहते हैं, तो आपको% A को %% A और% B को %% B से बदलना होगा


9
git एक्सटेंशन में भी काम करता है। ध्यान दें कि 64 बिट खिड़कियों के लिए प्रविष्टि है"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin
टिम एबेल

15
मूर्खतापूर्ण बात यह है कि -नोटबार उस टैब को अक्षम कर देगा, न कि केवल उस सत्र के लिए। जब लॉन्च नोटपैड ++ सामान्य रूप से होता है, तो आपको सेटिंग्स डायलॉग में जाकर टैब बार को फिर से एनेबल करना होगा।
Oskar Berggren

4
मुझे उपयोग करना था: git config --global core.editor "c\:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe -multiInst -nosession -noPlugin" ... निश्चित नहीं कि क्यों।
डेविड फेइवर

1
मेरे पास विंडोज 7 64-बिट, एमएससिट्ज v1.9.2 और नोटपैड ++ v6.6.9 है और यह पूरी तरह से काम करता है । धन्यवाद।
रादु मुराज़े

2
@CoDEmanX इसके बिना -multiInstसंभवत: फ़ाइल को खोलने और फिर तुरंत बाहर निकलने के लिए पहले से चल रहे नोटपैड ++ को संकेत दिया जाएगा। यह एक बड़ी समस्या हो सकती है अगर एडिटर जो भी कहता है वह केवल एडिटिंग (यानी सिंक्रोनस ऑपरेशन, जैसा कि vi कॉल करते समय होता है) में ही वापस करने की उम्मीद करता है। git rebase -iउदाहरण के लिए एक इंटरैक्टिव रिबेस ( ) का प्रयास करें । यदि यह अभी भी उम्मीद के मुताबिक काम करता है, तो आप ठीक हैं।
ब्लबरडाइब्लूब

7

यह मेरे लिए काम करता है

git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe

मैंने वैसा ही किया .. अब मैसेज के साथ नोटपैड ++ कैसे खोलें? क्या कमोड है ?? कृपया आप एक उदाहरण दे सकते हैं
श्रीदत्त कोठारी

4
-multiInstविकल्प जोड़ना यहां महत्वपूर्ण है, जैसे अन्य उत्तरों में।
ब्लबरडाइब्लूब

1
यह दो कारणों से अच्छा नहीं है। सबसे पहले, यदि C: वॉल्यूम NTFS है, तो 8.3 फ़ाइल नाम विकल्प बंद कर दिया गया है, बिल्कुल भी नहीं है C:\Progra~1। दूसरा, कई C:\Progra*निर्देशिकाएं हो सकती हैं , इसलिए ~1प्रत्यय जरूरी नहीं कि वैध हो।
किमी

5
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""

मेरे लिए यही चाल चली! बाद में .gitconfig ऐसा लगता है: [core] संपादक = \ "c: \\ प्रोग्राम फ़ाइलें (x86) \\ नोटपैड ++ \\ नोटपैड ++। exe \" -multiInst -nosession -noPlugin
AtliB

उच्चतम मत वाले उत्तर को देखें, जिसमें यह शामिल है (मैंने बहुत दूर नहीं पढ़ा था)
एटलीबी


3

मैं पथ चर के साथ दृष्टिकोण का उपयोग करता हूं। नोटपैड ++ के पथ को सिस्टम के पथ चर में जोड़ा गया है और फिर core.editor को निम्न प्रकार सेट किया गया है:

git config --global core.editor notepad++

इसके अलावा, आप नोटपैड ++ के लिए कुछ अतिरिक्त पैरामीटर जोड़ सकते हैं:

git config --global core.editor "notepad++.exe -multiInst"

(जैसा कि मैंने विंडोज के लिए " Git " में विस्तार से बताया हैcore.editor " )

और यहाँ आप नोटपैड ++ कमांड लाइन विकल्प बताते समय आपके द्वारा उपयोग किए जा सकने वाले कुछ विकल्प पा सकते हैं ।


1

अद्यतन २०१५

यदि आप नोटपैड ++ को अनपैक / स्थापित करते हैं c:\utils\npp\और नोटपैड ++ का नाम बदल देते हैं। सादगी के लिए npp.exe पर जाएं। तो आपको बस इतना करना है

git config --global core.editor c:/utils/npp/npp.exe

कोई रैपर स्क्रिप्ट या अन्य प्रवंचना नहीं। PATH में Notepad ++ की कोई आवश्यकता नहीं है।


अद्यतन 2020: ऐसा लगता है कि आपने नए नोटपैड उदाहरण खोलने के लिए विकल्पों को याद किया है। मैंने cmd.exe का उपयोग किया है git config --global core.editor "c:\\soft\\notepad++\\notepad++.exe -multiInst -notabbar -nosession -noPlugin"और यह दोनों से काम कर रहा है cmd terminalऔरgit bash
oleksa

1

मैं विंडोज 10 और नोटपैड ++ का उपयोग कर रहा हूं, और मुझे यह त्रुटि संदेश मिल रहा था:

line 0: syntax error near unexpected token `(' git windows

तो मैं इस तरह से सेटअप करता हूं:

git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'

और यह काम करता है


0

इन निर्देशों का पालन करें,

  1. पहले सुनिश्चित करें कि आपने अपने सिस्टम पर नोटपैड ++ इंस्टॉल किया है और यह .txt फ़ाइलों को खोलने के लिए डिफ़ॉल्ट प्रोग्राम है।

  2. फिर अपने सिस्टम पर gitpad स्थापित करें । ध्यान दें अंतिम मैंने चेक किया था डाउनलोड लिंक टूट गया था, इसलिए इसे यहाँ से डाउनलोड करें जैसा कि समझाया गया है

फिर आपको अपने पसंदीदा टेक्स्ट एडिटर को पॉप अप करते हुए देखना चाहिए।


0

मैंने स्टारिकोव्स के समाधान का उपयोग किया। मैंने एक बैश खिड़की से शुरुआत की और कमांड दी

cd ~
touch .bashrc

तब मुझे विंडोज़ एक्सप्लोरर में .bashrc फ़ाइल मिली, इसे नोटपैड ++ के साथ खोला और जोड़ा

PATH=$PATH:"C:\Program Files (x86)\Notepad++"

ताकि bash को पता हो कि नोटपैड ++ कहां पाया जाए। (बैश पाथ में नोटपैड ++ होने के बाद अपने आप में एक उपयोगी चीज है!) तब मैंने उनकी लाइन चिपकाई

git config --global core.editor "notepad++.exe -multiInst"

एक बैश खिड़की में। मैंने कमांड के साथ चीजों का परीक्षण करने के लिए गिट रिपॉजिटरी के लिए एक नई बैश विंडो शुरू की

git rebase -i HEAD~10

और फाइल नोटपैड ++ में आशा के अनुसार खोली गई।


0

यहाँ Cygwin के साथ एक समाधान है:

#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
  1. अगर कोई रास्ता नहीं है, कोई रास्ता नहीं है

  2. यदि रास्ता खाली है, तो खाली रास्ता पास करें

  3. यदि पथ रिक्त नहीं है, तो Windows प्रारूप में कनवर्ट करें।

फिर मैंने ये चर निर्धारित किए:

export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
  1. EDITOR स्क्रिप्ट को Git के साथ काम करने की अनुमति देता है

  2. GIT_EDITOR स्क्रिप्ट को हब कमांड के साथ काम करने की अनुमति देता है

स्रोत

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