Как использовать Notepad ++ (или другое) с помощью msysgit?
Как использовать 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
Ответы
Ответ 1
Обновление 2010-2011:
zumalifeguard решение (upvoted) проще первоначального, так как оно не требуется больше оболочки оболочки script.
Как я объясняю в Как настроить редактор для работы с 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 "$*"
действительно работает. Эти команды интерпретируются как shell script, поэтому идея обернуть любой набор команд Windows в sh
script.
(Как Franky комментарии: "Не забудьте сохранить ваш файл .sh
в конце строки стиля Unix или получать таинственные сообщения об ошибках!" )
Подробнее о вопросе SO Как настроить редактор для работы с Git в Windows?
Обратите внимание на параметр "-multiInst
" для обеспечения нового экземпляра блокнота ++ для каждого вызова из Git.
Обратите внимание, что если вы используете Git в Cygwin (и хотите использовать Notepad ++ из Cygwin), тогда scphantm объясняет в с помощью Notepad ++ для Git внутри Cygwin", что вы должны знать, что:
git
передает ему путь cygwin
, а npp
не знает, что с ним делать
Итак, script в этом случае будет:
#!/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
:
Не полезно отключать вкладку во время rebase, но приносит большой вред общей утилите Notepad, поскольку -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 "$*")"
Если вы хотите поместить script '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%
. Тогда вам не нужно было указывать какой-либо путь для script.
git config --global core.editor npp.sh
-
Steiny сообщает в комментариях:
git config --global core.editor '"C:/Program Files (x86)/Git/scripts/npp.sh"'
Ответ 2
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. Он вытащит место из блокнота ++. 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
Ответ 3
Это работает для меня
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
Ответ 4
git config core.editor "\"C:\Program Files (x86)\Notepad++\notepad++.exe\""
Ответ 5
Начиная с Git для Windows v2.15.0 (30 октября 2017 г.) теперь можно настроить nano
или Notepad++ в качестве редактора Git по умолчанию вместо vim
.
Во время установки вы увидите следующий экран:
![enter image description here]()
Ответ 6
Я использую этот подход с переменной PATH. Путь к Notepad ++ добавляется к переменной PATH системы, а затем core.editor устанавливается следующим образом:
git config --global core.editor notepad++
Кроме того, вы можете добавить некоторые дополнительные параметры для Notepad ++:
git config --global core.editor "notepad++.exe -multiInst"
(как я подробно рассказал в Git core.editor
для Windows")
И здесь вы можете найти некоторые параметры, которые вы можете использовать, указав Notepad ++ Параметры командной строки.
Ответ 7
UPDATE 2015
Если вы распакуете/установите Notepad ++ в c:\utils\npp\
и переименуете notepad ++. exe в npp.exe для простоты, тогда вам нужно всего лишь
git config --global core.editor c:/utils/npp/npp.exe
Нет сценариев-оболочек или других обманов. Нет необходимости иметь Notepad ++ в PATH.
Ответ 8
Я использую Windows 10 и notepad++, и я получаю это сообщение об ошибке:
line 0: syntax error near unexpected token '(' git windows
Поэтому я делаю настройку следующим образом:
git config --global core.editor 'C:/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
и это работает
Ответ 9
Вот решение с Cygwin:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
-
Если нет пути, не пропустите путь
-
Если путь пуст, пропустите пустой путь
-
Если путь не пуст, перейдите в формат Windows.
Затем я устанавливаю эти переменные:
export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
Источник
Ответ 10
Следуйте этим инструкциям,
-
Сначала убедитесь, что в вашей системе установлено notepad ++ и что программа по умолчанию открывает файлы .txt.
-
Затем установите gitpad в вашей системе. Обратите внимание на последнее, что я проверил, ссылка для загрузки была сломана, поэтому загрузите ее из здесь в качестве объяснил.
Затем при совершении вы увидите, как появляется ваш любимый текстовый редактор.
Ответ 11
Я использовал решение стаников. Я начал с окна bash и дал команды
cd ~
touch .bashrc
Затем я нашел файл .bashrc в проводнике Windows, открыл его с помощью блокнота ++ и добавил
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 ++, как можно надеяться.