Как я могу использовать Notepad ++ (или другой) с msysgit? - PullRequest
209 голосов
/ 28 октября 2009

Как мне использовать Notepad ++ (или любой другой редактор, кроме vim) с msysgit?

Я попробовал все следующее безрезультатно:

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 ]

431 голосов
/ 21 марта 2010
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

75 голосов
/ 28 октября 2009

Обновление 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.
(Как комментарии Фрэнки : "Не забудьте сохранить файл .sh с окончаниями строк в стиле Unix или получать таинственные сообщения об ошибках!")

Подробнее о SO вопросе Как настроить редактор для работы с Git в Windows?

Обратите внимание на опцию '-multiInst' для обеспечения нового экземпляра notepad ++ для каждого вызова из Git.

Также обратите внимание, что если вы используете Git на Cygwin (и хотите использовать Notepad ++ от Cygwin ), то scphantm объясняется в " используя Notepad ++ для 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 "$*")" является важной частью.

Val прокомментировал (и затем удалил), что вы не должны использовать -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"'
    
6 голосов
/ 23 ноября 2009

Это работает для меня

git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
5 голосов
/ 14 января 2018

Начиная с Git для Windows v2.15.0 (30 октября 2017 г.) теперь можно настроить nano или Блокнот ++ в качестве редактора Git по умолчанию вместо vim.

Во время установки вы увидите следующий экран:

enter image description here

5 голосов
/ 12 ноября 2015
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
3 голосов
/ 08 ноября 2012

Я использую подход с переменной PATH. Путь к Notepad ++ добавляется в системную переменную PATH, а затем устанавливается core.editor следующим образом:

git config --global core.editor notepad++

Также вы можете добавить некоторые дополнительные параметры для Notepad ++:

git config --global core.editor "notepad++.exe -multiInst"

(как я подробно описал в " Git core.editor для Windows ")

И здесь вы можете найти некоторые параметры, которые вы можете использовать при указании Блокнота ++ Параметры командной строки .

1 голос
/ 19 декабря 2018

Я использую Windows 10 и блокнот ++, и я получаю это сообщение об ошибке:

line 0: syntax error near unexpected token `(' git windows

Итак, я делаю настройку следующим образом:

git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'

и все работает

1 голос
/ 02 апреля 2015

ОБНОВЛЕНИЕ 2015

Если вы распакуете / установите Notepad ++ в c:\utils\npp\ и переименуете notepad ++. Exe в npp.exe для простоты, то все, что вам нужно сделать, это

git config --global core.editor c:/utils/npp/npp.exe

Нет сценариев-обёрток или других хитростей. Нет необходимости иметь Блокнот ++ в PATH.

0 голосов
/ 24 октября 2016

Я использовал раствор Старикова. Я начал с окна bash и дал команды

cd ~
touch .bashrc

Затем я нашел файл .bashrc в проводнике Windows, открыл его с помощью notepad ++ и добавил

PATH=$PATH:"C:\Program Files (x86)\Notepad++"

чтобы bash знал, где найти Notepad ++. (Наличие Notepad ++ в bash PATH само по себе полезно!) Затем я вставил его строку

git config --global core.editor "notepad++.exe -multiInst"

в окно bash. Я запустил новое окно bash для git-репозитория, чтобы проверить вещи с помощью команды

git rebase -i HEAD~10

и файл открылся в Notepad ++, как и ожидалось.

0 голосов
/ 02 октября 2015

Следуйте этим инструкциям,

  1. Сначала убедитесь, что в вашей системе установлено notepad ++ и что это программа по умолчанию для открытия .txt файлов.

  2. Затем установите gitpad в вашей системе. Обратите внимание, что в последний раз я проверял, что ссылка на скачивание не работает, поэтому загрузите ее с здесь , как объяснил 1016 *.

Тогда при фиксации вы должны увидеть ваш любимый текстовый редактор.

...