Как я использую Блокнот ++ (или другой) с msysgit?

Я недавно переключился от subclipse до оппозиционера. После обновления нашего репозитория от v1.4.x до 1,5, мы начали иметь много проблем с subclipse.

После выполнения синхронизации, Вы видели бы обновления, которые Вы только что приняли, и Вы не будете в состоянии взять другие обновления, не делая "взломов"

До сих пор подрывной, довольно хорошо. это даже кажется немного быстрее для большого количества маленьких файлов, чем subclipse был.

209
задан PHLAK 27 October 2009 в 12:59
поделиться

3 ответа

Обновление 2010-2011:

zumalifeguard решение (одобрено) проще, чем исходное, так как ему больше не нужен сценарий оболочки.

Как я объясняю в " Как я могу настроить редактор для работы с Git в Windows? ", Я предпочитаю оболочку, так как проще попробовать переключить редакторы или изменить путь к одному редактору без необходимо зарегистрировать указанное изменение в git config снова .
Но это только я.


Дополнительная информация : следующее решение работает с 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 "$*"

работает. Эти команды интерпретируются как сценарий оболочки, отсюда и идея обернуть любой набор команд Windows в сценарий sh .

#!/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 становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> Панель вкладок> Скрыть> снимать флажок каждый раз, когда вы запускаете блокнот после перезагрузки. Это ад. Вы рекомендовали ад.

Так что используйте скорее:

#!/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 ' в путь с пробелами (как в

Вал прокомментировал (а затем удалил), что вам не следует использовать параметр -notabbar :

Отключение вкладки во время перебазирования бесполезно, но делает много вред для общего удобства использования Блокнота, так как -notab становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> TabBar> Скрыть> снимать флажок каждый раз, когда вы запускаете Блокнот после перезагрузки. Это ад. Вы рекомендовали ад.

Так что лучше используйте:

#!/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 ' в путь с пробелами (как в

Вал прокомментировал (а затем удалил), что вам не следует использовать параметр -notabbar :

Отключение вкладки во время перебазирования бесполезно, но делает много вред для общего удобства использования Блокнота, так как -notab становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> TabBar> Скрыть> снимать флажок каждый раз, когда вы запускаете Блокнот после перезагрузки. Это ад. Вы рекомендовали ад.

Так что лучше используйте:

#!/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 ' в путь с пробелами (как в но наносит большой вред общему удобству использования Блокнота, так как -notab становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> TabBar> Скрыть> снимать флажок каждый раз, когда вы запускаете блокнот после перезагрузки . Это ад. Вы рекомендовали ад.

Так что лучше используйте:

#!/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 ' в путь с пробелами (как в но наносит большой вред общему удобству использования Блокнота, так как -notab становится настройкой по умолчанию, и вы должны Настройки> Настройки> Общие> TabBar> Скрыть> снимать флажок каждый раз, когда вы запускаете блокнот после перезагрузки . Это ад. Вы рекомендовали ад.

Так что используйте скорее:

#!/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 "'
    
75
ответ дан 23 November 2019 в 04:38
поделиться

У меня это работает

git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
6
ответ дан 23 November 2019 в 04:38
поделиться
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Или, для 64-битной Windows и 32-битной установки Notepad++:

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

Или, следующее можно ввести в командной строке 32-битной или 64-битной Windows. Это извлечет расположение notepad++.exe из реестра и настроит git на его автоматическое использование:

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

431
ответ дан 23 November 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: