Comment puis-je configurer un éditeur pour qu'il fonctionne avec Git sous Windows ?

StackOverflow https://stackoverflow.com/questions/10564

  •  08-06-2019
  •  | 
  •  

Question

j'essaye Git sous Windows.J'en suis arrivé au point d'essayer "git commit" et j'ai eu cette erreur :

Le terminal est stupide mais aucun éditeur visuel ni éditeur défini.Veuillez fournir le message à l'aide de l'option -M ou -F.

J'ai donc compris que j'avais besoin d'une variable d'environnement appelée EDITOR.Aucun problème.Je l'ai configuré pour qu'il pointe vers le Bloc-notes.Cela a fonctionné, presque.Le message de validation par défaut s'ouvre dans le Bloc-notes.Mais le Bloc-notes ne prend pas en charge les sauts de ligne nus.Je suis sorti et j'ai eu Bloc-notes++, mais je n'arrive pas à comprendre comment configurer Notepad++ en tant que %EDITOR% de telle manière qu'il fonctionne avec Git comme prévu.

Je ne suis pas marié à Notepad++.À ce stade, l’éditeur que j’utilise ne me dérange pas.Je veux juste pouvoir tapez les messages de validation dans un éditeur plutôt que la ligne de commande (avec -m).

Ceux d'entre vous qui utilisent Git sous Windows :Quel outil utilisez-vous pour modifier vos messages de commit et qu'avez-vous dû faire pour que cela fonctionne ?

Était-ce utile?

La solution

Mise à jour septembre 2015 (6 ans plus tard)

Le dernière version de git-pour-Windows (2.5.3) comprend désormais :

En configurant git config core.editor notepad, utilisateurs peut maintenant utiliser notepad.exe comme éditeur par défaut.
Configuration git config format.commitMessageColumns 72 sera récupéré par le wrapper du bloc-notes et renverra à la ligne le message de validation une fois que l'utilisateur l'aura modifié.

Voir commettre 69b301b par Johannes Schindelin (dscho).

Et GIT 2.16 (Q1 2018) affichera un message pour indiquer à l'utilisateur qu'il attend que l'utilisateur termine l'édition lors de la frai d'un éditeur, au cas où l'éditeur s'ouvre sur une fenêtre cachée ou quelque part obscur et que l'utilisateur se perd.

Voir commettre abfb04d (7 décembre 2017), et commettre a64f213 (29 novembre 2017) par Lars Schneider (larsxschneider).
Aidé par : Junio ​​C Hamano (gitster).
(Fusionné par Junio ​​C Hamano-- gitster -- dans commettre 0c69a13, 19 décembre 2017)

launch_editor():indique que Git attend la saisie de l'utilisateur

Lorsqu'un graphique GIT_EDITOR est engendré par une commande git qui ouvre et attend la saisie de l'utilisateur (par exemple"git rebase -i"), alors la fenêtre de l'éditeur peut être masquée par d'autres fenêtres.
L'utilisateur pourrait être laissé regarder la fenêtre du terminal Git d'origine sans même se rendre compte qu'il doit interagir avec une autre fenêtre avant que Git puisse continuer.À cet utilisateur, Git apparaît suspendu.

Imprimez un message que Git attend la contribution de l'éditeur dans le terminal d'origine et s'en débarrasser lorsque l'éditeur revient, si le terminal prend en charge l'effacement de la dernière ligne


Réponse originale

Je viens de le tester avec git version 1.6.2.msysgit.0.186.gf7512 et Notepad++5.3.1

je préfère pas je dois définir une variable EDITOR, alors j'ai essayé :

git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"

Cela donne toujours :

C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.

Si je définis un npp.bat incluant :

"c:\Program Files\Notepad++\notepad++.exe" %*

et je tape :

C:\prog\git>git config --global core.editor C:\prog\git\npp.bat

Cela fonctionne uniquement à partir de la session DOS, mais pas depuis le shell git.
(pas ça avec le mécanisme de configuration core.editor, un script avec "start /WAIT..." cela ne fonctionnerait pas, mais ouvrirait seulement une nouvelle fenêtre DOS)


La réponse de Bennett mentionne la possibilité de ne pas ajouter de script, mais de référencer directement le programme lui-même entre des guillemets simples.Notez le sens des barres obliques !Utiliser / PAS \ pour séparer les dossiers dans le nom du chemin !

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

Ou si vous êtes dans un système 64 bits :

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

Mais je préfère utiliser un script (voir ci-dessous) :de cette façon, je peux jouer avec différents chemins ou différentes options sans avoir à m'inscrire à nouveau. git config.


La vraie solution (avec un script) était de réaliser que :
ce à quoi vous faites référence dans le fichier de configuration est en fait un shell (/bin/sh) scénario, pas un script DOS.

Alors, ce qui fonctionne, c'est :

C:\prog\git>git config --global core.editor C:/prog/git/npp.bat

avec C:/prog/git/npp.bat:

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"

ou

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

Avec ce paramètre, je peux faire 'git config --global --edit' depuis DOS ou Git Shell, ou je peux faire 'git rebase -i ...' depuis DOS ou Git Shell.
Les commandes du bot déclencheront une nouvelle instance de notepad++ (d'où le -multiInst' option), et attendez que cette instance soit fermée avant de continuer.

Notez que j'utilise uniquement '/', pas \'.Et moi installé msysgit en utilisant l'option 2. (Ajouter le git\bin répertoire vers le PATH variable d'environnement, mais sans remplacer certains outils Windows intégrés)

Le fait que le wrapper notepad++ s'appelle .bat n'est pas important.
Il serait préférable de le nommer 'npp.sh' et de le mettre dans le [git]\cmd répertoire cependant (ou dans n'importe quel répertoire référencé par votre variable d'environnement PATH).


Voir également:


feu léger228 ajoute dans les commentaires:

Pour toute personne ayant un problème où N++ ouvre simplement un fichier vide et que git ne prend pas votre message de validation, voir "Abandon de la validation en raison d'un message vide" :change ton .bat ou .sh fichier pour dire :

"<path-to-n++" .git/COMMIT_EDITMSG -<arguments>. 

Cela indiquera à notepad++ d'ouvrir le fichier de validation temporaire, plutôt qu'un nouveau fichier vierge.

Autres conseils

Bâtir sur La réponse de Darren, pour utiliser Notepad++, vous pouvez simplement faire ceci (le tout sur une seule ligne) :

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

Évidemment le C:/Program Files/Notepad++/notepad++.exe part doit être le chemin d’accès à l’exécutable Notepad++ sur votre système.Par exemple, cela pourrait être C:/Program Files (x86)/Notepad++/notepad++.exe .

Fonctionne comme un charme pour moi.

Quoi qu'il en soit, je viens de jouer avec ça et j'ai trouvé que ce qui suit fonctionnait bien pour moi :

git config --global core.editor "'C:/Program Files/TextPad 5/TextPad.exe' -m"

Je ne pense pas que CMD aime les guillemets simples, vous devez donc utiliser des guillemets doubles "pour spécifier l'argument de chaîne intégré à l'espace".

Cygwin (qui, je crois, est la plate-forme sous-jacente de Git's Bash), en revanche, aime les deux ' et ";vous pouvez spécifier des chemins de type CMD, en utilisant / au lieu de \, tant que la chaîne est citée, c'est-à-diredans ce cas, en utilisant des guillemets simples.

Le -m remplace/indique l'utilisation de plusieurs éditeurs et il n'est pas nécessaire d'avoir recours à un %* punaise à la fin.

Modifier: Après la mise à jour vers vim 7.3, je suis arrivé à la conclusion que le moyen le plus propre et le plus simple de procéder est :

  1. Ajoutez le dossier principal de Vim à votre chemin (clic droit sur Poste de travail -> Propriétés -> Avancé -> Variables d'environnement)

  2. Lance ça:git config --global core.editor "gvim --nofork '%*'"

Si vous le faites de cette façon, je suis presque sûr que cela fonctionnera également avec Cygwin.

Réponse originale :

Même avec quelques réponses liées à vim, j'avais du mal à faire fonctionner cela avec gvim sous Windows (sans utiliser de fichier batch, %EDITOR% ou cygwin).

Ce à quoi je suis finalement arrivé est beau et propre, et s'inspire de quelques-unes des solutions ici :

git config --global core.editor \
"'C:/Program Files/Vim/vim72/gvim.exe' --nofork '%*'"

Un problème qui m'a pris du temps est que ce ne sont pas des barres obliques inverses de style Windows, ce sont des barres obliques normales.

Notepad++ fonctionne très bien, même si je choisis de m'en tenir à Notepad, -m ou même parfois à la "modification" intégrée.

Le problème que vous rencontrez en utilisant Notepad++ est lié à la façon dont git lance l'exécutable de l'éditeur.Ma solution consiste à définir EDITOR sur un fichier batch, plutôt que sur l'exécutable de l'éditeur, qui effectue les opérations suivantes :

start /WAIT "E:\PortableApps\Notepad++Portable\Notepad++Portable.exe" %*

/WAIT indique à la session de ligne de commande de s'arrêter jusqu'à la fermeture de l'application. Vous pourrez ainsi modifier à votre guise pendant que git vous attend avec plaisir.%* transmet tous les arguments au fichier de commandes via Notepad++.

c:\src>echo %EDITOR%
c:\tools\runeditor.bat

Bloc de mots !

Je suis content d'utiliser vim, mais depuis que j'essaie de présenter Git à l'entreprise, je voulais quelque chose que nous aurions tous et j'ai trouvé que Wordpad semble fonctionner correctement (c'est-à-direGit attend que vous ayez fini de modifier et fermez la fenêtre).

git config core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'

Cela utilise Git Bash sur msysgit ;Je n'ai pas essayé depuis l'invite de commande Windows (si cela fait une différence).

J'utilise également Cygwin sous Windows, mais avec gvim (par opposition au terminal vim).

Pour que cela fonctionne, j'ai procédé comme suit :

  1. Création d'un fichier batch d'une ligne (nommé git_editor.bat) qui contient les éléments suivants :
    "C:/Program Files/Vim/vim72/gvim.exe" --nofork "%*"
  2. Mis git_editor.bat dans mon PATH.
  3. Ensemble GIT_EDITOR=git_editor.bat

Cela fait, git commit, etc.invoquera correctement l'exécutable gvim.

NOTE 1:Le --nofork L'option de gvim garantit qu'il bloque jusqu'à ce que le message de validation ait été écrit.

NOTE 2:Les guillemets autour du chemin vers gvim sont obligatoires si vous avez des espaces dans le chemin.

NOTE 3:Les guillemets autour de "%*" sont nécessaires au cas où git transmettrait un chemin de fichier avec des espaces.

Merci à la communauté SO...et en faisant quelques recherches, j'ai pu trouver mon éditeur préféré, EditPadPro, pour travailler comme éditeur de base avec MSYSGIT 1.7.5.Git et Tortoisegit v1.7.3.0 sur WinXP SP3 ...

Suite aux conseils ci-dessus j'ai ajouté le chemin vers un script bash pour l'éditeur de code...

git config --global core.editor c:/msysgit/cmd/epp.sh

Cependant, après plusieurs tentatives infructueuses avec les solutions mentionnées ci-dessus...J'ai enfin pu faire fonctionner cela.Selon la documentation d'EditPadPro, l'ajout de l'indicateur '/newinstance' permettrait au shell d'attendre l'entrée de l'éditeur....

Le '/nouvelle instance" Le drapeau était la clé dans mon cas...

#!/bin/sh
"C:/Program Files/JGsoft/EditPadPro6/EditPadPro.exe" //newinstance "$*"

C’est le premier symptôme de problèmes plus graves.Notamment que vous avez quelque chose qui définit TERM=dumb.D'autres choses qui ne fonctionnent pas correctement sont les less commande qui indique que vous n’avez pas de terminal entièrement fonctionnel.Il semble que cela soit le plus souvent dû au fait que TERM soit défini sur quelque chose dans vos variables d'environnement Windows globales.Pour moi, le problème est survenu lorsque j'ai installé Strawberry Perl. Certaines informations à ce sujet se trouvent sur le bug msysgit pour ce problème ainsi que plusieurs solutions.

La première solution est de le corriger dans votre ~/.bashrc en ajoutant :

export TERM=msys

Vous pouvez le faire à partir de l'invite Git BASH comme ceci :

echo "export TERM=msys" >> ~/.bashrc

L'autre solution qui est finalement ce que j'ai fait parce que je ne me soucie pas des raisons pour lesquelles Strawberry Perl a ajouté TERM=dumb à mes paramètres d'environnement est d'aller supprimer le TERM=dumb comme dirigé dans ce commentaire sur le rapport de bug msysgit.

Panneau de commande / Système / Variables avancées / environnement ...(ou similaire, selon votre version de Windows) est l'endroit où les variables d'environnement collantes sont définies sur Windows.Par défaut, le terme n'est pas défini.Si le terme est défini là-dedans, vous (ou l'un des programmes que vous avez installés - par exemple.Strawberry perl) l'a réglé.Supprimez ce paramètre, et tout devrait aller bien.

De même, si vous utilisez Strawberry Perl et que vous vous souciez du client CPAN ou quelque chose comme ça, vous pouvez laisser le TERM=dumb seul et utiliser unset TERM dans votre fichier ~/.bashrc, ce qui aura un effet similaire à la définition d'un terme explicite comme ci-dessus.

Bien entendu, toutes les autres solutions que vous pouvez utiliser sont correctes git config --global core.editor $MYFAVORITEEDITOR pour vous assurer que git utilise votre éditeur préféré lorsqu'il doit en lancer un pour vous.

Pour Atome tu peux faire

git config --global core.editor "atom --wait"

et pareil pour VSCode

git config --global core.editor "code --wait"

ce qui ouvrira un Atome ou VSCode fenêtre à travers laquelle vous pouvez vous engager,

ou pour Sublime

git config --global core.editor "subl -n -w"

Modifiez le fichier .gitconfig dans le dossier c:\Users\YourUser et ajoutez :

[core]
editor = 'C:\\Program files\\path\\to\\editor.exe'

Vim/Gvim fonctionne bien pour moi.

>echo %EDITOR%

c:\Vim\Vim71\vim.exe

PortableGit 1.6 fonctionnait bien, mais après la mise à niveau vers la version Windows PortableGit-1.7, j'ai eu des problèmes.Certaines commandes git ouvrent correctement Notepad++.exe, mais d'autres non, en particulier rebase git se comporte différemment.

Le problème est que certaines commandes exécutent le processus Windows cmd, d'autres utilisent le processus Unix cmd.Je souhaite donner des attributs de démarrage à l'éditeur Notepad++, j'ai donc besoin d'un script personnalisé.Ma solution est la suivante.

1) Créez un script pour exécuter un éditeur de texte approprié.Le script a l'air bizarre mais gère à la fois les variantes Windows et Unix.c:/PortableGit/cmd/git-editor.bat

#!/bin/sh
#open a new instance

function doUnix() {
  "c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar $*
  exit
}

doUnix $*

:WINCALL
"c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar %*

2) Le script de variable Global Core. Editor a été enregistré dans le dossier GIT / CMD, donc c'est déjà dans un chemin Gitconsole, cela est obligatoire car le chemin complet peut ne pas fonctionner correctement.

git config --global core.editor "git-editor.bat"

Maintenant je peux courir git commit -a et git rebase -i maître commandes.Essayez-le si vous rencontrez des problèmes avec l'outil Windows Git.

J'utilise git sur plusieurs plates-formes et j'aime utiliser les mêmes paramètres git sur chacune d'elles.(En fait, j'ai tous mes fichiers de configuration sous contrôle de version avec git et j'ai mis un clone du référentiel git sur chaque machine.) La solution que j'ai trouvée est la suivante :

J'ai réglé mon éditeur à éditeur git

git config --global core.editor giteditor

Ensuite je crée un lien symbolique appelé éditeur git qui est dans mon CHEMIN.(j'ai un compte personnel poubelle répertoire, mais n'importe où dans le CHEMIN fonctionne.) Ce lien pointe vers mon éditeur actuel de choix.Sur différentes machines et différentes plateformes, j'utilise différents éditeurs, cela signifie donc que je n'ai pas besoin de modifier ma configuration universelle de git (.gitconfig), juste le lien qui éditeur git pointe vers.

Les liens symboliques sont gérés par tous les systèmes d'exploitation que je connais, bien qu'ils puissent utiliser des commandes différentes.Pour Linux, vous utilisez ln -s.Pour Windows, vous utilisez le cmd intégré mklien.Ils ont des syntaxes différentes (que vous devriez rechercher), mais tout fonctionne vraiment de la même manière.

Basé sur VonC suggestion ci-dessus, cela a fonctionné pour moi (cela me rendait fou) :

git config --global core.editor "'C:/Program Files (x86)/Sublime Text 3/subl.exe' -wait"

Omettre -wait peut causer des problèmes, surtout si vous travaillez avec Gerrit et que vous modifiez les identifiants qui doivent être copiés manuellement au bas de votre message de validation.

C'est ma configuration à utiliser Geany en tant qu'éditeur pour git :

git config --global core.editor C:/path/to/geany.bat

avec le contenu suivant dans geany.bat :

#!/bin/sh
"C:\Program Files\Geany\bin\Geany.exe" --new-instance "$*"

Cela fonctionne à la fois dans la console DOS et dans msysgit.

J'utilise Cygwin sous Windows, j'utilise donc :

export EDITOR="emacs -nw"

Le -nw est pour no-windows, c'est à dire.dites à Emacs de ne pas essayer d'utiliser X11.

Les raccourcis clavier Emacs ne fonctionnent pas pour moi à partir d'un shell Windows, donc je ne les utiliserais qu'à partir d'un shell Cygwin...(rxvt recommandé.)

Je préfère utiliser Emacs.Le configurer peut être un peu délicat.

  1. Téléchargez Emacs et décompressez-le quelque part comme c:\emacs.
  2. Courir c:\emacs\bin\addpm.exe.Vous devez cliquer avec le bouton droit et « Exécuter en tant qu'administrateur » si vous utilisez Windows Vista ou une version ultérieure.Cela mettra les exécutables sur votre chemin.
  3. Ajouter (server-start) quelque part dans ton .emacs déposer.Voir le FAQ Emacs Windows pour obtenir des conseils sur l'endroit où placer votre .emacs déposer.
  4. git config --global core.editor emacsclientw

Git ouvrira désormais les fichiers dans un processus emacs existant.Vous devrez exécuter ce processus existant manuellement à partir de c:\emacs\bin\runemacs.exe.

J'ai eu du mal à faire coopérer git avec wordpad, KomodoEdit et à peu près tous les autres éditeurs que je lui donne.La plupart sont ouverts à l'édition, mais git n'attend clairement pas que la sauvegarde/la fermeture ait lieu.

En guise de béquille, je viens de faire c.-à-d.

git commit -m "Fixed the LoadAll method"

pour faire avancer les choses.J'ai tendance à garder mes messages de validation un peu plus courts qu'ils ne devraient probablement l'être, mais il y a clairement du travail à faire sur la version Windows de git.

Le GitGUI n'est pas si mal non plus.Cela demande un peu d'orientation, mais après, ça fonctionne plutôt bien.

Je devais faire les deux des éléments suivants pour que git lance notepad++ dans Windoze :

-ajoutez ce qui suit à .gitconfig :

editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin

-modifiez le raccourci pour lancer le shell git bash à exécuter en tant qu'administrateur, puis utilisez-le pour lancer le shell git bash.Je devinais que l'entrée du menu contextuel "Git Bash ici" ne lançait pas npp avec les autorisations requises.

Après avoir fait les deux ci-dessus, cela a fonctionné.

Il semble que Git ne trouvera pas l'éditeur s'il y a des espaces dans le chemin.Il faudra donc mettre le fichier batch mentionné dans La réponse de Patrick dans un chemin non-espace.

Je viens d'avoir le même problème et j'ai trouvé une solution différente.j'obtenais

error: There was a problem with the editor 'ec'

j'ai VISUAL=ec, et un fichier batch appelé ec.bat sur mon chemin qui contient une ligne :

c:\emacs\emacs-23.1\bin\emacsclient.exe %*

Cela me permet d'éditer des fichiers depuis la ligne de commande avec ec <filename>, et avoir un ensemble visuel signifie que la plupart des programmes Unixy le récupèrent également.Git semble cependant rechercher le chemin différemment de mes autres commandes - quand j'ai regardé un git commit dans ProcMon Je l'ai vu chercher dans chaque dossier sur le chemin ec et pour ec.exe, mais pas pour ec.bat.J'ai ajouté une autre variable d'environnement (GIT_EDITOR=ec.bat) et tout allait bien.

J'ai réussi à faire fonctionner la version de l'environnement en définissant la variable EDITOR à l'aide de guillemets et /:

EDITOR="c:/Program Files (x86)/Notepad++/notepad++.exe"

J'utilise GitHub pour Windows, qui est une option visuelle intéressante.Mais je préfère aussi la ligne de commande, donc pour que cela fonctionne lorsque j'ouvre un dépôt dans un shell Git, je viens de définir ce qui suit :

git config --global core.editor vim

ce qui fonctionne très bien.

Cela fonctionne pour Powershell et cmder-1.2 (lorsqu'il est utilisé avec PowerShell).Dans ~/.gitconfig

[core]
    editor = 'c:/program files/sublime text 3/subl.exe' -w

Comment puis-je faire de Sublime Text l'éditeur par défaut pour Git ?

Ressusciter un vieux fil de discussion, mais j'ai trouvé une solution magnifiquement simple publiée ici - bien qu'il puisse y avoir une erreur dans le chemin dans lequel vous devez copier le fichier "subl" fourni par l'auteur.J'utilise Win 7 x64 et j'ai dû mettre le fichier "subl" dans mon /Git/cmd/ dossier pour le faire fonctionner.Cela fonctionne cependant à merveille.

ATOM et Windows 10

  1. Faites un clic droit sur l'icône Atom sur le bureau et cliquez sur propriétés.
  2. Copié le chemin de l'emplacement "Démarrer dans"
  3. J'ai regardé là-bas avec l'explorateur Windows et j'ai trouvé "atom.exe".
  4. J'ai tapé ceci dans le git bash :

    git config --global core.editor C:/Users/YOURNAMEUSER/AppData/Local/atom/app-1.7.4/atom.exe"

Note:j'ai tout changé \ pour / .J'ai créé un .bashrc dans mon répertoire personnel et utilisé / pour définir mon répertoire personnel et cela a fonctionné, alors j'ai supposé / sera la voie à suivre.

Lorsque vous utilisez un homedrive monté à distance (partage samba, nfs, ...) votre ~/.git Le dossier est partagé sur tous les systèmes, ce qui peut entraîner plusieurs problèmes.Je préfère donc un script pour déterminer le bon éditeur pour le bon système :

#!/usr/bin/perl
# Detect which system I'm on and choose the right editor
$unamea = `uname -a`;
if($unamea =~ /mingw/i){
    if($unamea =~ /devsystem/i){#Check hostname
        exec('C:\Program Files (x86)\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
    if($unamea =~ /testsystem/i){
        exec('C:\Program Files\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
}
$MCEDIT=`which mcedit`;
if($MCEDIT =~ /mcedit/){
    exec($MCEDIT, @ARGV);
}
$NANO=`which nano`;
if($NANO =~ /nano/){
    exec($NANO, @ARGV);
}
die "You don't have a suitable editor!\n";

On pourrait envisager un script shell simple, mais j'ai utilisé Perl car Perl est livré avec msysgit et vos systèmes Unixoid en fourniront également un.Insérer le script /home/username/bin, qu'il convient d'ajouter à PATH dans .bashrc ou .profile.Une fois ajouté avec git config --global core.editor giteditor.pl vous avez le bon éditeur, où que vous soyez.

Cela fonctionne pour moi avec Cygwin et Textpad 6 (EDIT :fonctionne également avec Textpad 5 tant que vous apportez la modification évidente au script), et vraisemblablement le modèle pourrait également être utilisé pour d'autres éditeurs :

~/.gitconfig :

[core]
    editor = ~/script/textpad.sh

~/script/textpad.sh

#!/bin/bash

APP_PATH=`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`
FILE_PATH=`cygpath -w $1`

"$APP_PATH" -m "$FILE_PATH"

Ce one-liner fonctionne également :

~/script/textpad.sh (option 2) :

"`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`" -m "`cygpath -w $1`"

Cela a fonctionné pour moi :

  1. Ajoutez le répertoire contenant l'exécutable de l'éditeur à votre CHEMIN variable.(par exemple. "C:\Program Files\Sublime Text 3\")
  2. Redémarrez votre ordinateur.
  3. Changer la core.éditeur variable git globale au nom de l'exécutable de l'éditeur sans la prolongation '.exe' (par exemple.git config --global core.editor sublime_text)

C'est ça!

NOTE: Sublime Text 3 est l'éditeur que j'ai utilisé pour cet exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top