¿Cómo uso Notepad++(u otro) con msysgit?
configuration text-editor (10)
¿Cómo uso Notepad ++ (o cualquier otro editor además de vim) con msysgit?
Intenté todo lo siguiente en vano:
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
A partir de Git para Windows v2.15.0 (30 de octubre de 2017) ahora es posible configurar nano
o Notepad++ como el editor predeterminado de Git en lugar de vim
.
Durante la instalación verá la siguiente pantalla:
Actualización 2010-2011:
La solution zumalifeguard (upvoted) es más simple que la original, ya que no necesita más un script de shell shell.
Como explico en " ¿Cómo puedo configurar un editor para que funcione con Git en Windows? ", Prefiero un contenedor, ya que es más fácil probar y cambiar de editor, o cambiar la ruta de un editor, sin tener que registrar dicho cambio. con una git config
nuevo .
Pero eso es solo yo.
Información adicional : la siguiente solución funciona con Cygwin , mientras que la solución zuamlifeguard no lo hace.
Respuesta original.
El seguimiento:
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 "$*"
funciona. Esos comandos se interpretan como script de shell, de ahí la idea de envolver cualquier conjunto de comandos de Windows en un script sh
.
(Como comments Franky : "¡Recuerda guardar tu archivo .sh
con los finales de línea del estilo Unix o recibir mensajes de error misteriosos!")
Más detalles sobre la pregunta SO ¿ Cómo puedo configurar un editor para que funcione con Git en Windows?
Tenga en cuenta la opción '' -multiInst
'', para asegurar una nueva instancia de notepad ++ para cada llamada desde Git.
Tenga en cuenta también que, si está utilizando Git en Cygwin (y desea usar Notepad ++ de Cygwin ), scphantm explica en " usar Notepad ++ para Git dentro de Cygwin " que debe tener en cuenta que:
git
está pasando por un camino decygwin
ynpp
no sabe qué hacer con él
Entonces el guión en ese caso sería:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$(cygpath -w "$*")"
Múltiples líneas para facilitar la lectura:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar /
-nosession -noPlugin "$(cygpath -w "$*")"
Con "$(cygpath -w "$*")"
es la parte importante aquí.
Val commented (y luego eliminó) que no debería usar la opción -notabbar
:
No es bueno deshabilitar la pestaña durante el rebase, pero hace mucho daño a la capacidad de uso general del Bloc de notas, ya que
-notab
convierte en la configuración predeterminada y debeSettings>Preferences>General>TabBar> Hide>uncheck
cada vez que inicie el bloc de notas después del rebase. Esto es el infierno. Me recomendaste el infierno.
Así que usa más bien:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession -noPlugin "$(cygpath -w "$*")"
Es decir:
#!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -nosession /
-noPlugin "$(cygpath -w "$*")"
Si desea colocar el script '' npp.sh
'' en una ruta con espacios (como en '' c:/program files/...
'',), tiene tres opciones:
Intente citar la ruta (comillas simples o dobles), como en:
git config --global core.editor ''C:/program files/git/npp.sh''
o pruebe la notación de nombre corto (no a prueba de tontos):
git config --global core.editor C:/progra~1/git/npp.sh
o (mi favorito) coloque ''
npp.sh
'' en una parte del directorio de su%PATH%
entorno%PATH%
. No tendrías que especificar ninguna ruta para el script.git config --global core.editor npp.sh
Steiny informa que en los comentarios hay que hacer:
git config --global core.editor ''"C:/Program Files (x86)/Git/scripts/npp.sh"''
Aquí hay una solución con Cygwin:
#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
Si no hay camino, no se pasa.
Si la ruta está vacía, pase la ruta vacía
Si la ruta no está vacía, convierta al formato de Windows.
Luego establezco estas variables:
export EDITOR=notepad2.sh
export GIT_EDITOR=''dash /usr/local/bin/notepad2.sh''
EDITOR permite que el script funcione con Git
GIT_EDITOR permite que el script funcione con comandos de Hub
Source
Esto funciona para mi
git config --global core.editor C:/Progra~1/Notepad++/notepad++.exe
Siga estas instrucciones,
Primero asegúrese de que tiene instalado notepad++ en su sistema y que es el programa predeterminado para abrir archivos .txt.
Luego instale gitpad en su sistema. Tenga en cuenta que la última vez que verifiqué el enlace de descarga estaba roto, así que descárguelo desde here como se explained .
Luego, mientras te comprometes, verás aparecer tu editor de texto favorito.
Utilicé la solución de Starikovs. Comencé con una ventana de bash y di los comandos.
cd ~
touch .bashrc
Luego encontré el archivo .bashrc en el explorador de Windows, lo abrí con notepad ++ y agregué
PATH=$PATH:"C:/Program Files (x86)/Notepad++"
para que bash sepa dónde encontrar Notepad ++. (¡Tener Notepad ++ en el bash PATH es una cosa útil por sí sola!) Luego pegué su línea
git config --global core.editor "notepad++.exe -multiInst"
en una ventana de bash. Comencé una nueva ventana de bash para un repositorio de git para probar cosas con el comando
git rebase -i HEAD~10
y el archivo se abrió en Notepad ++ como se esperaba.
Yo uso el enfoque con variable PATH. Path to Notepad ++ se agrega a la variable PATH del sistema y luego core.editor se configura de la siguiente manera:
git config --global core.editor notepad++
Además, puede agregar algunos parámetros adicionales para Notepad ++:
git config --global core.editor "notepad++.exe -multiInst"
(como core.editor
en " Git core.editor
para Windows ")
Y aquí puede encontrar algunas opciones que puede usar al declarar las opciones de línea de comandos de Notepad ++.
ACTUALIZACIÓN 2015
Si descomprime / instala Notepad ++ en c:/utils/npp/
y cambia el nombre de notepad ++. Exe a npp.exe por simplicidad, todo lo que tiene que hacer es
git config --global core.editor c:/utils/npp/npp.exe
No hay scripts envoltorios u otros trucos. No es necesario tener Notepad ++ en PATH.
git config --global core.editor "''C:/Program Files/Notepad++/notepad++.exe'' -multiInst -notabbar -nosession -noPlugin"
O, para Windows de 64 bits y una instalación de Notepad ++ de 32 bits:
git config --global core.editor "''C:/Program Files (x86)/Notepad++/notepad++.exe'' -multiInst -notabbar -nosession -noPlugin"
O, lo siguiente se puede emitir en la línea de comando en Windows de 32 bits o de 64 bits. Extraerá la ubicación de notepad ++. Exe del registro y configurará git para usarlo automáticamente:
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"
Si desea colocar lo anterior de un archivo .BAT o .CMD, debe reemplazar% A con %% A y% B con %% B
git config core.editor "/"C:/Program Files (x86)/Notepad++/notepad++.exe/""