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
Author: PHLAK, 2009-10-27

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 ona cygwin ścieżkę i npp 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 musisz Settings>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"'
    
 77
Author: VonC,
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

 434
Author: zumalifeguard,
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
 7
Author: Tim Scott,
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\""
 5
Author: Jus,
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:

Tutaj wpisz opis obrazka

 5
Author: AXO,
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++ .

 3
Author: starikovs,
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.

 1
Author: Dan Dascalescu,
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

 1
Author: Juan Luis Vivas Occhipinti,
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,

  1. Najpierw upewnij się, że masz zainstalowany notepad++ i że jest to domyślny program do otwarcia .pliki txt.

  2. 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.

 0
Author: Aditya P,
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.

 0
Author: Ivan,
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"}
  1. Jeśli nie ma ścieżki, nie ma ścieżki

  2. Jeśli ścieżka jest pusta, podaj pustą ścieżkę

  3. 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'
  1. Edytor pozwala skryptowi pracować z Git

  2. GIT_EDITOR pozwala skryptowi pracować z poleceniami Hub

Źródło

 0
Author: Steven Penny,
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