2010-2011 Güncellemesi:
zumalifeguard 'in çözeltisi artık komut sargı, bir kabuk gerekmez olarak (upvoted), orijinal bir çok daha basittir.
" Windows'ta Git ile çalışmak için bir düzenleyici nasıl ayarlayabilirim? " Bölümünde açıkladığım gibi, söz konusu değişikliği kaydetmek zorunda kalmadan editörleri denemek ve değiştirmek veya bir düzenleyicinin yolunu değiştirmek daha kolay olduğu için bir sarmalayıcıyı tercih ederim. bir git config
tekrar .
Ama bu sadece benim.
Ek bilgi : zuamlifeguard'ın çözümü işe yaramazken aşağıdaki çözüm Cygwin ile birlikte çalışır .
Orijinal cevap.
Devamındaki:
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 "$*"
çalışır. Bu komutlar kabuk komut dosyası olarak yorumlanır, bu nedenle komut dosyalarındaki herhangi bir Windows komut kümesini kaydırma fikri sh
.
(As Franky yorumlar : "Lütfen kaydetmeyi unutmayın .sh
Unix tarzı satır sonları dosya veya gizemli hata iletileri alabilirsiniz!")
SO sorusu hakkında daha fazla ayrıntı Windows'ta Git ile çalışacak bir düzenleyici nasıl ayarlayabilirim?
-multiInst
Git'ten gelen her çağrı için yeni bir notepad ++ örneği sağlamak için ' ' seçeneğine dikkat edin.
Üzerinde Git kullanıyorsanız Not ayrıca, Cygwin (ve istediğiniz Cygwin gelen Notepad ++ kullanmak ), sonra scphantm "olarak açıklar Cygwin içine Git için Notepad ++ kullanarak bunu farkında olması gerektiğini":
git
bir cygwin
yoldan geçiyor ve onunla npp
ne yapacağını bilmiyor
Bu durumda senaryo şöyle olur:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
Okunabilirlik için birden fazla satır:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$(cygpath -w "$*")"
İle "$(cygpath -w "$*")"
Burada önemli parçası olmak.
Val seçeneği kullanmamanız gerektiğini yorumladı (ve sonra sildi) -notabbar
:
Rebase sırasında sekmeyi devre dışı bırakmak iyi değildir, ancak -notab
varsayılan Not haline geldiğinden genel Not Defteri kullanılabilirliğine çok zarar verir ve Settings>Preferences>General>TabBar> Hide>uncheck
rebase'den sonra not defterini her başlattığınızda yapmanız gerekir . Bu cehennem. Cehennemi tavsiye ettin.
Bu yüzden şunu kullanın:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
Yani:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
' npp.sh
' Komut dosyasını boşluklu bir yola yerleştirmek istiyorsanız (' c:\program files\...
' gibi), üç seçeneğiniz vardır:
Ya yolu (tek veya çift tırnak) belirtmeye çalışın.
git config --global core.editor 'C:/program files/git/npp.sh'
veya kısa ad gösterimini deneyin (aptal değil):
git config --global core.editor C:/progra~1/git/npp.sh
veya (benim favorim) ' npp.sh
' seçeneğini %PATH%
ortam değişkeninizin bir dizin bölümüne yerleştirin . Bu durumda komut dosyası için herhangi bir yol belirtmeniz gerekmez.
git config --global core.editor npp.sh
Steiny raporlar yorumlarda yapmak zorunda:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'