Ceci est une extension de cette question
Comment utiliser NotePad ++ (ou autre) avec MSYSGIT? P>
J'ai fait toutes les combinaisons que je peux penser pour mon script shell. Lorsque j'ai ma console Cygwin (im en utilisant MintTy si cela compte), je peux taper p> et le fichier s'ouvre correctement. Mais lorsque je fais un P> #!/bin/sh
"C:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar \
-nosession -noPlugin "$*"
5 Réponses :
J'étais correct sur mon problème de chemin Cygwin. J'ai changé mon wrapper de shell sur cet et cela fonctionnait parfaitement. P> p>
Excellent (+1). J'ai édité de la réponse originale ( Stackoverflow.com/Questtions/1634161/... ) pour inclure votre conclusion (et renvoyer votre réponse).
J'utilise Cygwin et j'ai eu des problèmes avec les \ donc j'ai changé cela en: #! / Bin / sh 'c: / Apps / Notepad ++ / Notepad ++. EXE' -MultiInst -NOTAbbar -nosession -NOPLUGIN "$ (CYGPATH -W -W "$ *") "Et maintenant ça marche pour moi. Merci un tas pour cela.
Que voulez-vous dire par "wrapper shell" ici? J'ai ce problème avec le texte sublime et je ne peux pas le comprendre. Lorsque je vais faire un git commit, il ouvre un fichier vide qui n'existe pas. Il cherche un chemin comme celui-ci: "C: \ C \ utilisateurs \ Jordan \ Desktop \ Test \ .git \ commit_editmsg"
Voici la solution complète Ces lignes supposent que vous utilisez la version 64 bits de Windows. p> exécutez la commande suivante de la commande Invite (Cygwin): P> [core]
excludesfile = /home/Aternus/.gitignore_global
autocrlf = input
safecrlf = true
editor = '/cygdrive/c/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin
Cela pourrait fonctionner juste avec la version de Windows de Git, pas Cygwin's, car Cygwin's Git exécuterait NotePad ++ avec le chemin de la Cygwin vers le fichier: Notepad ++. EXE /HOME/USER/REPOSITOIITITOIRE/FILE.EXTENSILE CODE>. Je suis sûr que Windows Notepad ++ ne trouvera pas ce fichier. Même si vous vous êtes reproduit en dehors des répertoires de Cygwin, cela ressemblerait à ceci:
Notepad ++. EXE /CYGDRIVE/D/REPOSITOIRE/File.extension code>.
Lorsque j'utilise cela, je reçois une fenêtre de bloc-notes vide ouverte lors de la boîte de rebas interactive par exemple ...
J'ai créé un script simple pour exécuter des commandes de Windows arbitraires avec des arguments de chemin de style UNIX:
cygrun.sh strong> p> [core]
editor = cygrun 'C:/Program Files/Notepad2/Notepad2.exe'
[difftool "diffmerge"]
cmd = cygrun 'C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' \"$LOCAL\" \"$REMOTE\"
Une version améliorée de mon script, qui peut également être utilisée pour exécuter des outils Cygwin à l'aide de chemins Windows: GIST. github.com/gene-pavlovsky/e81c8e18327540f70df4e5296FF3D D15 Utilisez l'option -w code> pour exécuter des outils Windows avec des chemins UNIX et aucune option (ou
-u code>) à Exécutez des outils Cygwin avec des chemins Windows.
export EDITOR=notepad2.sh export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
Il y a un Solution existante sans script d'emballage qui semble prometteur , mais avec Cygwin Git et CMD.EXE, Ouvrez un fichier vide à chaque fois.
Pour résoudre ce problème, vous auriez besoin d'avoir ceci dans votre fichier .gitconfig (avec lequel avec -global réside dans votre dossier à domicile Cygwin): P>
git config --global core.editor "'/cygdrive/c/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin $(cygpath --windows ${1})"
Cygwin, intéressant. Mon script devait être utilisé avec MSYSGIT, dans une session DOS ou MWIN BASH. Pour Cygwin, ne devrait pas utiliser les chemins de cygwin?
/ CygDrive / C / Program Files (X86) / ... Code>
POSIX est allumé de sorte que les chemins de Windows à l'intérieur de Cygwin fonctionnent tout simplement bien, en plus de, je l'ai essayé à la fois et ni ni autre.
Avez-vous vérifié ce SuperUserSer.com/q/168971/11855
Je travaille sur une idée en ce moment, je pensais que, étant donné qu'il s'agit d'une version Cygwin de Git, peut-être que la question est que GIT lui transmet un chemin Cygwin et une NPP ne sait pas quoi faire avec elle. Je cherche des scripts shell qui appellent cygpath pour le corriger.