Jak używać Notepad++ (lub innego) z msysgit?
Jak używać Notepad++ (lub innego edytora poza Vimem) z msysgit?
Próbowałem wszystkich z następujących bezskutecznie:
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
11 answers
Aktualizacja 2010-2011:
Zumalifeguard'S solution (upvoted) jest prostszy od oryginalnego, ponieważ nie potrzebuje już skryptu wrappera powłoki.
Jak wyjaśniam w " Jak mogę skonfigurować edytor do pracy z Gitem na Windows?", wolę wrapper, ponieważ łatwiej jest spróbować zmienić edytory lub zmienić ścieżkę jednego edytora, bez konieczności rejestrowania tej zmiany za pomocą git config
ponownie .
Ale to tylko ja.
dodatkowe informacje: poniższe rozwiązanie działa z Cygwin, podczas gdy rozwiązanie zuamlifeguard nie działa.
Oryginalna odpowiedź.
Następujące:
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 "$*"
Działa. Polecenia te są interpretowane jako skrypt powłoki, stąd pomysł, aby owinąć dowolny zestaw poleceń systemu windows w skrypt sh
.(Jako Franky komentarze : "pamiętaj, aby zapisać plik
.sh
z zakończeniami linii w stylu Uniksa lub otrzymuj tajemnicze komunikaty o błędach!")
Więcej szczegółów na temat pytania SO Jak mogę skonfigurować edytor do pracy z Gitem w systemie Windows?
Zwróć uwagę na opcję ' -multiInst
', aby zapewnić nową instancję notepad++ dla każdego wywołania z Gita.
Zauważ również, że jeśli używasz Git na Cygwin (i chcesz używać Notepad++ z Cygwin ), to scphantm wyjaśnia w " używanie Notepad++ dla Gita w Cygwin ", że musisz być świadomy że:
git
czy mija onacygwin
ścieżkę inpp
nie wie co z nią zrobić
Więc skrypt w tym przypadku będzie:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
Wiele linii dla czytelności:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$(cygpath -w "$*")"
Z "$(cygpath -w "$*")"
bycie tu ważną częścią.
Val skomentował (a następnie usunął), że nie należy używać opcji -notabbar
:
Wyłączanie karty podczas rebase nie jest dobre, ale szkodzi ogólna użyteczność Notatnika, ponieważ
-notab
staje się domyślnym ustawieniem i musiszSettings>Preferences>General>TabBar> Hide>uncheck
za każdym razem, gdy uruchamiasz notatnik po rebase. To jest piekło. Zarekomendowałeś mnie.
Więc używaj raczej:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
Czyli:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession \
-noPlugin "$(cygpath -w "$*")"
Jeśli chcesz umieścić skrypt 'npp.sh
' w ścieżce ze spacjami (jak w
'c:\program files\...
',), masz trzy opcje:
-
W tym celu należy wykonać następujące czynności:]}
git config --global core.editor 'C:/program files/git/npp.sh'
-
Lub wypróbuj notację shortname (nie głupią):
git config --global core.editor C:/progra~1/git/npp.sh
-
Lub (Moje ulubione) miejsce '
npp.sh
' w katalogowej części zmiennej środowiskowej%PATH%
. Nie trzeba wtedy określać żadnej ścieżki dla skryptu.git config --global core.editor npp.sh
-
Steiny zgłasza w komentarzach trzeba zrobić:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:27
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Dla 64-bitowego systemu Windows i 32-bitowej instalacji Notepad++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Lub w 32-bitowym lub 64-bitowym systemie Windows w wierszu poleceń można wykonać następujące czynności. Wyciągnie lokalizację notatnika++.exe z rejestru i skonfigurować git, aby używał go automatycznie:
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"
Jeśli chcesz umieścić powyższe z .BAT lub .Plik CMD, musisz zastąpić %A % % A i %B % % B
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-14 19:14:24
To działa dla mnie
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-12 15:57:46
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-23 10:34:37
Od Git dla Windows v2.15.0 (30 października 2017) jest teraz możliwe skonfigurować nano
lub Notepad++ jako domyślny edytor Git zamiast vim
.
Podczas instalacji zobaczysz następujący ekran:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-14 01:47:40
Używam podejścia ze zmienną PATH. Ścieżka do Notepad++ jest dodawana do zmiennej systemowej PATH, a następnie core.edytor jest ustawiony następująco:
git config --global core.editor notepad++
Możesz również dodać kilka dodatkowych parametrów dla Notepad++:
git config --global core.editor "notepad++.exe -multiInst"
(jak opisałem w " Git core.editor
Dla Windows")
I tutaj znajdziesz kilka opcji, których możesz użyć przy podawaniu opcji linii poleceń Notepad++ .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-10 12:54:09
Aktualizacja 2015
Jeśli rozpakujesz / zainstalujesz Notepad++ do c:\utils\npp\
i zmienisz nazwę notepad++.exe do npp.exe dla prostoty, wtedy wszystko co musisz zrobić to
git config --global core.editor c:/utils/npp/npp.exe
Żadnych skryptów wrappera ani innych sztuczek. Nie trzeba mieć notatnika++ w ścieżce.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-02 07:58:42
Używam systemu Windows 10 i notepad++ i otrzymywałem komunikat o błędzie:
line 0: syntax error near unexpected token `(' git windows
Więc konfigurację robię w ten sposób:
git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
I działa
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-19 10:24:28
Postępuj zgodnie z tymi instrukcjami,
Najpierw upewnij się, że masz zainstalowany notepad++ i że jest to domyślny program do otwarcia .pliki txt.
Następnie zainstaluj gitpad na swoim systemie. Zauważ, że ostatnio sprawdzałem link do pobrania był uszkodzony, więc pobierz go z tutaj jako wyjaśnione.
Następnie podczas zatwierdzania powinieneś zobaczyć swój ulubiony edytor tekstu wyskakujący.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-02 17:59:53
Użyłem rozwiązania starikovsa. Zacząłem od okna Basha i dałem polecenia
cd ~
touch .bashrc
Potem znalazłem .plik bashrc w Eksploratorze windows, otworzył go za pomocą notepad++ i dodał
PATH=$PATH:"C:\Program Files (x86)\Notepad++"
Żeby bash wiedział gdzie znaleźć Notepad++. (Posiadanie notatnika++ w ścieżce bash jest przydatną rzeczą samą w sobie!) Następnie wkleiłem jego linię
git config --global core.editor "notepad++.exe -multiInst"
Do okna bash. Uruchomiłem nowe okno bash dla repozytorium git do testowania rzeczy za pomocą polecenia
git rebase -i HEAD~10
I plik został otwarty w Notepad++ zgodnie z oczekiwaniami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-24 10:50:48
Oto rozwiązanie z Cygwin:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
-
Jeśli nie ma ścieżki, nie ma ścieżki
-
Jeśli ścieżka jest pusta, podaj pustą ścieżkę
Jeśli ścieżka nie jest pusta, przekonwertuj do formatu Windows.
Następnie ustawiam te zmienne:
export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
-
Edytor pozwala skryptowi pracować z Git
GIT_EDITOR pozwala skryptowi pracować z poleceniami Hub
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-26 00:42:49