Оновлення 2010-2011:
zumalifeguard «s рішення (upvoted) простіше , ніж вихідний, так як йому не потрібно більше оболонок обгортки сценарію.
Як я пояснюю в " Як я можу налаштувати редактор для роботи з Git в Windows? ", Я віддаю перевагу обгортці, оскільки легше спробувати переключити редактори або змінити шлях одного редактора, не реєструючи зазначену зміну з git config
Again .
Але це тільки я.
Додаткова інформація : наступне рішення працює із Cygwin , тоді як рішення zuamlifeguard - ні.
Оригінальна відповідь.
Наступне:
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
сценарій.
(Як зауважує Френкі : "Не забудьте зберегти свій файл із закінченнями рядків у стилі Unix або отримати таємничі повідомлення про помилки!").sh
Детальніше про питання ТА Як я можу налаштувати редактор для роботи з Git в Windows?
Зверніть увагу на -multiInst
опцію ' ', щоб забезпечити новий екземпляр блокнота ++ для кожного дзвінка від Git.
Зауважте також, що якщо ви використовуєте Git на Cygwin (і хочете використовувати Блокнот ++ від Cygwin ), тоді scphantm пояснює в " використанні Блокнота ++ для Git всередині Cygwin ", що ви повинні знати, що:
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 "$*")"
є важливою частиною тут.
Вал прокоментував (а потім видалив), що не слід використовувати -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
Steiny повідомляє у коментарях, що стосуються:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'