Comment faire pour que Git utilise l'éditeur de mon choix pour les commits?

2550

Je préférerais écrire mes messages de commit dans Vim, mais ça les ouvre dans Emacs.

Comment configurer Git pour toujours utiliser Vim? Notez que je veux le faire globalement, pas seulement pour un seul projet.

brasskazoo
la source
202
"Comment amener git à aller sur vim pour valider les commentaires du git-go?"
Michael Burr

Réponses:

3489

Si vous souhaitez définir l'éditeur uniquement pour Git, faites l'une ou l'autre (vous n'avez pas besoin des deux):

  • Définissez core.editordans votre configuration Git:git config --global core.editor "vim"
  • Définissez la GIT_EDITORvariable d'environnement:export GIT_EDITOR=vim

Si vous souhaitez définir l'éditeur pour Git et d'autres programmes , définissez les variables normalisées VISUALet d' EDITORenvironnement *:

export VISUAL=vim
export EDITOR="$VISUAL"

* La définition des deux n'est pas nécessairement nécessaire, mais certains programmes peuvent ne pas utiliser le plus correct VISUAL. Voir VISUALvsEDITOR .


Pour Sublime Text : Ajoutez ceci au .gitconfig. Le --waitest important (il permet de taper du texte en sublime et attendra l'événement save / close.)

[core]
    editor = 'subl' --wait

'subl' peut être remplacé par le chemin complet de l'exécutable mais est généralement disponible lorsqu'il est correctement installé.

digitaldreamer
la source
96
La variable d'environnement EDITOR présente l'avantage qu'un certain nombre d'autres programmes la respecteront également.
Boojum
16
Notez que git config --globalcela écrirait dans votre fichier de configuration git personnel (par utilisateur). Sur Unices, c'est le cas ~/.gitconfig. Donc, cela le configurerait pour tous vos référentiels.
Jakub Narębski
42
vous pouvez tester que vous l'avez modifié avec succès en essayant de modifier le dernier message de validation. git commit --amend
Marco M.
11
Si vous faites l'option n ° 1 dans Windows et que vous avez des espaces dans le chemin de l'éditeur (par exemple, si c'est sous Program Files), effacez les guillemets simples dans vos guillemets doubles. par exemple "'C: / Program Files (x86) /Wwhat/App.exe'" - évident pour certains mais ce n'était pas pour moi!
Pablissimo
5
@Abramodj -wn'est pas nécessaire; -w {scriptout}enregistre tous les caractères que vous saisissez lors de l'édition pour les rejouer plus tard. Vous le confondez peut-être -f, ce qui est nécessaire lors de l'appel de la version GUI de Vim. Autrement dit, si vous utilisez mvim, l'éditeur que vous spécifiez devrait être mvim -fplutôt que mvim.
Rory O'Kane du
619

Copiez collez ceci:

git config --global core.editor "vim"

Au cas où vous voudriez savoir ce que vous faites. De man git-commit:

VARIABLES D'ENVIRONNEMENT ET DE CONFIGURATION

L'éditeur utilisé pour modifier le message du journal de validation sera choisi parmi la GIT_EDITORvariable d'environnement, la core.editorvariable de configuration, la VISUALvariable d'environnement ou la EDITORvariable d'environnement (dans cet ordre).

Mark Rushakoff
la source
4
Btw, ce qui précède est vrai pour CVS et SVN, et je suppose que d'autres contrôles de version.
armandino
6
@armandino: Oui, les autres pourraient utiliser VISUALou EDITOR, mais ils n'utilisent certainement pas GIT_EDITORou core.editor.
Mark Rushakoff
8
Oui - svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Donc, en théorie, si j'utilise à la fois svn et git, définir $ VISUAL ou $ EDITOR serait être la meilleure solution pour couvrir les deux par défaut!
brasskazoo
12
Par souci d'exhaustivité, core.editor signifie [core] editor = ... dans le fichier
JRG
2
N'a pas répondu à la question "Comment configurer git ..."
Ant6n
193

Sur Ubuntu et Debian (merci @MichielB), changer l'éditeur par défaut est également possible en exécutant:

sudo update-alternatives --config editor

Ce qui entraînera ce qui suit:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 
Koen.
la source
8
Sur Debian, cela fonctionne aussi, merci! Il est par défaut pico - argh.
MichielB
2
Bien sûr, cela fonctionne sur Debian; c'est une fonctionnalité Debian qui, comme la plupart des choses (ooh, controversée!), Ubuntu hérite simplement. Le alternativessystème Debian est un moyen beaucoup plus facile de gérer les valeurs par défaut pour les types de programmes pris en charge. Pour référence: debian-administration.org/article/91/…
underscore_d
Cela fonctionne, tandis que GIT_EDITORet EDITOR ne fonctionne pas --ubuntu
Ninja
Aucune option pour Emacs? Si c'est vrai, quelle honte!
haziz
2
@haziz update-alternativesaffichera tous les éditeurs qui ont été installés. Koen n'a tout simplement pas Emacs installé.
Major
59

Sous Windows 7, en ajoutant l'éditeur "Sublime", il me donnait toujours une erreur:

Abandon de la validation en raison d'un message de validation vide.

Sublime n'a pas pu garder le focus.

Pour résoudre ce problème, j'ai ouvert le fichier .gitconfig dans le dossier c: / users / username / et ajouté la ligne suivante avec l'option --wait en dehors des guillemets doubles.

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

J'espère que cela sera utile à quelqu'un confronté à un problème similaire avec Sublime.

Anmol Saraf
la source
Agréable! Merci Anmol, j'avais ce problème où il s'engageait sur un message vide.
ddavison
Pourquoi voudriez-vous utiliser sublime pour les commits git?
Adam F
13
N'importe quel éditeur pour git commit sera principalement utilisé pour ajouter plusieurs lignes de commentaires et Sublime est un choix de programmeur pour diverses raisons pour de nombreux développeurs. Les gens ont généralement tendance à utiliser un éditeur pour la plupart de leurs travaux de codage et autres. Sublime n'est qu'un choix personnel, il peut s'agir de n'importe quel éditeur.
Anmol Saraf
4
Je viens de découvrir que les guillemets simples sont requis. Cela ne fonctionne pas avec les guillemets doubles ".
dotnetCarpenter
1
Au lieu de modifier gitconfig manuellement, vous pouvez utiliser cette commandegit config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
KayakinKoder
53

Sous Windows 7, définition de l'éditeur sur Notepad ++

  • Ouvrez n'importe quel éditeur de texte.
  • Ouvrez ce fichier: C:\Users\YOUR_USERNAME\.gitconfig
  • Ajoutez cette section en bas:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Enregistrez et fermez le fichier.
  • Lorsque vous vous engagez avec git, écrivez simplement git commitet appuyez sur Enter. Il ouvrira Notepad ++.
  • Écrivez votre message de validation en haut du fichier, puis enregistrez et fermez le fichier. Terminé!
Ryan
la source
enfin quelqu'un qui sait l'écrire simplement! Merci. Mais vous devez mentionner que dans le chemin vers le bloc-notes, vous devez utiliser '/' ou une double barre oblique inverse '\\', sinon git se plaindra ...
icl7126
10
Vous devrez peut-être ajouter au moins -multiInstcomme paramètre à notepad ++ et éventuellement -notabbar. Faites cela si git ne semble pas savoir quand vous avez fini de modifier le fichier et attend indéfiniment ou pas du tout.
ErikE
1
Juste ce que je voulais. Comparez l'utilisation de \ et /
Henry
4
pour définir la configuration sur la ligne de commande, j'ai besoin de guillemets doubles à l'intérieur de guillemets simples comme>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
Josef
2
Pour ajouter les paramètres Notepadd ++, je devais faire ceci: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar- c'est-à-dire, les paramètres en dehors des guillemets simples de délimitation
cropredy
30

Pour faire de Visual Studio Code (vscode) votre éditeur git par défaut

git config --global core.editor "code --wait"
Marcelo Mason
la source
24

Et si vous travaillez avec des designers en utilisant la ligne de commande, alors Pico, et que vous ne connaissez pas les raccourcis;)

git config --global core.editor "pico"

Ou

export VISUAL=pico
export EDITOR=pico
tristanbailey
la source
18

Atom comme éditeur git

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

Atom doit être configuré pour s'exécuter à partir de la ligne de commande pour que ce qui précède fonctionne:

OS X : installez les commandes shell depuis Atom: barre de menus> Atom> Installer les commandes shell

Windows : aucune action requise - atom est configuré pour s'exécuter à partir de la ligne de commande par défaut

2Toad
la source
17

Définition de Sublime Text 2 comme éditeur de validation Git dans Mac OSX 10

Exécutez cette commande:

$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"

Ou juste:

$ git config --global core.editor "subl -w"
Mohsen
la source
D'une certaine manière, il ne livre pas le texte à git. J'ai obtenu «Abandon de la validation en raison d'un message de validation vide». Erreur.
Mahendran
J'ai utilisé la première commande pour configurer SL. cmd + S puis cmd + W pour fermer l'éditeur
Mahendran
2
Visual Studio Code prend également en charge le -wparamètre. Par exemple. $ git config --global core.editor "code -w". Trucs sympas
Automatico
Autre réponse ici: stackoverflow.com/a/48212377/4561887 , avec un exemple Linux.
Gabriel Staples le
13

Windows: définition du bloc-notes comme éditeur de message de validation par défaut

git config --global core.editor notepad.exe

Frappé Ctrl + Spour enregistrer votre message de validation. Pour supprimer, fermez simplement la fenêtre du bloc-notes sans enregistrer.

Dans le cas où vous appuyez sur le raccourci pour enregistrer, puis décidez d'annuler, allez dans Fichier-> Enregistrer sous, et dans la boîte de dialogue qui s'ouvre, changez "Enregistrer en tant que type" en "Tous les fichiers (*. *)". Vous verrez un fichier nommé "COMMIT_EDITMSG". Supprimez-le et fermez la fenêtre du bloc-notes.

Modifier: Alternativement et plus facilement, supprimez tout le contenu de la fenêtre ouverte du bloc-notes et appuyez sur Enregistrer. (merci mwfearnley pour le commentaire!)

Je pense que pour les petites écritures telles que les messages de validation, le bloc-notes sert mieux, car il est simple, existe avec des fenêtres, s'ouvre en un rien de temps. Même votre sublime peut prendre une seconde ou deux pour démarrer lorsque vous avez une charge de plugins et d'autres choses.

Sнаđошƒаӽ
la source
2
Au lieu d'aller dans Fichier-> Enregistrer sous, vous pouvez effacer le fichier (ou commenter toutes les lignes non vides), puis Git abandonnera en raison d'un message de validation vide.
mwfearnley
@Stepan Modifiez-vous commit? Si c'est le cas, je suppose que cela a à voir avec \r\n(newline dans Windows) et \n(newline sous linux, également par défaut pour Git).
Sнаđошƒаӽ
mieux vous ajoutez la ligne comme ceci core.editor = 'notepad' .git/COMMIT_EDITMSG --waitpour qu'elle s'ouvre et enregistre le message d'édition par défaut et vous n'avez pas besoin de "sauvegarder sous"
Radon8472
12

Cela fournit une réponse pour les personnes qui arrivent à cette question qui peuvent vouloir lier un éditeur autre que vim.

La ressource liée, par Github , est susceptible d'être tenue à jour, lorsque les éditeurs sont mis à jour, même si les réponses sur SO (y compris celle-ci) ne le sont pas.

Associer des éditeurs de texte à git

Le post de Github montre exactement ce qu'il faut taper dans votre ligne de commande pour divers éditeurs, y compris les options / drapeaux spécifiques à chaque éditeur pour qu'il fonctionne mieux avec git.

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

Texte sublime:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

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

Les commandes ci-dessus supposent que votre éditeur a été installé dans le répertoire par défaut d'une machine Windows.

Les commandes ajoutent essentiellement le texte entre guillemets doubles .gitconfigdans votre répertoire personnel.
Sur une machine Windows, il est probable que la maison se trouve C:\Users\your-user-name, où votre nom d'utilisateur est votre nom de connexion.
Depuis la ligne de commande, vous pouvez accéder à ce répertoire en tapantcd ~ .

par exemple, une commande ci-dessus serait d'ajouter la ligne suivante sous la [core]section comme ceci:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Si vous avez un éditeur différent, remplacez-le simplement par le chemin d'accès à votre éditeur, en utilisant l'une des méthodes ci-dessus. (et espérons qu'aucun indicateur n'est nécessaire pour une utilisation optimale.)

SherylHohman
la source
Merci, je me débattais avec le fait que juste "vim" a lancé l'instance "interne" de vim pour Git (sans mes préférences, etc.). Fournir le chemin d'accès complet à mon instance a résolu le problème!
benichka
10

Pour les utilisateurs emacs

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient
Bendlas
la source
6
Voici comment mettre emacs en mode terminal lors du comitinggit config --global core.editor "emacs -nw"
kukinsula
J'utilise git config --global core.editor "emacs -nw -q", où les -qfichiers d'initialisation sont ignorés.
miguelmorin
8

Meilleurs paramètres pour Sublime Text 3 comme éditeur Git (instructions Windows et Linux):

Pour suivre ces instructions dans Windows, assurez-vous d'avoir installé Git pour Windows . Sous Windows, j'aime utiliser Git Bash pour qu'il ressemble plus à Linux.

Tout d'abord, nous voulons créer un projet Sublime Text spécial afin de pouvoir spécifier les paramètres de projet spéciaux que nous voulons définir chaque fois que Git appelle l'éditeur, pour faciliter les choses lors de l'édition dans Git. Par exemple, je règle normalement ma règle sur 120 caractères dans la plupart des projets, mais pour les messages de validation Git, je veux qu'elle soit de 72 caractères afin qu'elle s'intègre bien dans un terminal lorsque vous appelez git logou git lg.


1. Créez un projet Sublime Text avec les paramètres que nous voulons utiliser pour modifier les messages de validation Git

Ouvrez Sublime Text et allez dans le menu "Fichier""Nouvelle fenêtre" pour créer un nouveau projet anonyme. Allez dans le menu "Projet""Enregistrer le projet sous ..." et choisissez un emplacement pour l'enregistrer. Sous Linux, je l'ai enregistré dans mon répertoire personnel Linux avec le nom de fichier .gitconfig.sublime-project. Son chemin est donc: ~/.gitconfig.sublime-project. Sous Windows, enregistrez-le également dans votre répertoire personnel, par exemple: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Allez maintenant dans le menu "Projet""Modifier le projet" pour modifier les paramètres du projet. Collez ce qui suit et enregistrez les paramètres. Apportez d'autres modifications aux paramètres de votre projet si vous le souhaitez.

{
    // For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}

2. Définissez l'éditeur à utiliser par Git

Maintenant, nous devons définir l'éditeur à utiliser par Git, en éditant le .gitconfigfichier.

Pour Linux:

Votre copie utilisateur de celui-ci se trouvera dans ~/.gitconfig. Ouvrez ce fichier et ajoutez les lignes suivantes. Assurez-vous d'utiliser le bon chemin d'accès au projet Git que vous venez de créer ci-dessus! J'utilise ~/.gitconfig.sublime-project.

[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait

Le --waitest important, car il oblige Git à attendre la fermeture du fichier avant de continuer. La --projectligne est importante pour indiquer à Sublime Text le projet que vous souhaitez ouvrir chaque fois que Git ouvre Sublime Text.

Selon la réponse de @ digitaldreamer ci-dessus ( https://stackoverflow.com/a/2596835/4561887 ), " sublpeut être remplacé par le chemin d'accès complet de l'exécutable mais [l'alias subl] est généralement disponible lorsque [Sublime est] correctement installé".

Pour les fenêtres:

Pour Windows, lisez d'abord les instructions Linux pour obtenir des informations générales. Maintenant, nous allons faire quelque chose de presque identique.

(FACULTATIF: créez un sublalias à utiliser dans Git Bash):

Ouvrez un éditeur de texte (par exemple, Bloc-notes, Notepad ++, Sublime Text, Geany , etc.) et créez un fichier appelé ".bash_profile" dans votre répertoire personnel. Son chemin sera donc: C:\Users\MY_USER_NAME\.bash_profile. Enregistrez-y les éléments suivants:

alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"

Cela crée un alias Git Bash appelé sublque nous pouvons maintenant utiliser dans Git Bash pour Windows, pour ouvrir facilement Sublime Text. Cette étape n'est pas obligatoire, mais elle est utile pour une utilisation générale de Git Bash. Vous pouvez maintenant appeler subl ., par exemple, dans Git Bash pour ouvrir un nouveau projet Sublime Text dans votre répertoire actuel.

(OBLIGATOIRE):

Modifiez le .gitconfigfichier trouvé dans votre répertoire personnel C:\Users\MY_USER_NAME\.gitconfig:, en y ajoutant ce qui suit. Remarquez les changements subtils par rapport aux instructions Linux ci-dessus:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • Notez que vous devez spécifier le chemin d'accès complet à l'exécutable Sublime Text. Notez la direction des barres obliques! Utilisez /NOT \pour séparer les dossiers dans le nom du chemin! (Merci VonC de m'avoir aidé à voir cela ).
  • Notre sublalias que nous avons créé pour Git Bash ci-dessus ne fonctionne pas ici, vous ne pouvez donc pas l'utiliser comme nous l'avons fait dans l'exemple Linux, à la place, vous devez spécifier le chemin complet comme indiqué ci-dessus.
  • Le ~symbole, cependant, fonctionne toujours ici pour accéder à votre répertoire personnel Windows.

2.5. (Facultatif) Installez le package "Git" dans Sublime Text 3.

Cela vous donne la coloration syntaxique pour les git commitmessages, ainsi que l'accès à d'autres commandes Git telles que git blame(que j'utilise fréquemment dans Sublime Text) ougit commit (que je n'utilise pas dans Sublime Text car je préférerais la ligne de commande pour Git général comme je l'ai mentionné dans mes commentaires ci-dessous cette réponse).

Pour installer un package: Tout d'abord, assurez-vous que «Package Control» est installé. Ensuite, appuyez sur Ctrl+ Shift+ P(comme Outils → Palette de commandes) et tapez tout ou partie de "Contrôle du package: Installer le package", puis appuyez sur Enter. Dans la boîte de recherche qui apparaît, recherchez le package "Git" et Entercliquez dessus, ou cliquez dessus, pour l'installer automatiquement.

Une fois installé, Ctrl+ Shift+ Ppuis la recherche de "git" fera apparaître des commandes Git que vous pouvez utiliser en interne dans Sublime Text maintenant, comme git blame.


3. Utilisez-le

Maintenant, lorsque vous appelez git commit, par exemple, comme d'habitude à partir de la ligne de commande, Sublime Text s'ouvrira dans celui que .gitconfig.sublime-projectnous avons créé ci-dessus, avec les paramètres de ce projet! Lorsque vous tapez un paragraphe, vous remarquerez qu'il s'étend au-delà de la règle que nous avons définie car le retour automatique à la ligne est désactivé. Pour forcer un retour à la ligne dur via des retours en dur insérés automatiquement à la fin de chaque ligne, placez votre curseur sur la longue ligne que vous souhaitez envelopper automatiquement et appuyez sur Alt+ Q. Il va maintenant être enroulé / plié en dur à 72 caractères, ce que nous avons défini dans le paramètre "règles" des paramètres du projet ci-dessus.

Maintenant, enregistrez votre message de validation avec Ctrl+ Set quittez (pour terminer votre git commit) avec Ctrl+ Shift+ W.

Terminé!

En relation:

  1. Git mergetool avec Meld sous Windows
  2. https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles
Gabriel Staples
la source
1
Cela semble assez détaillé. +1
VonC
Dans Sublime Text 3, il existe désormais un Git Committype de syntaxe. Vous pouvez ignorer l'étape personnalisée "Projet de texte sublime" maintenant.
yegeniy
Je ne suis pas d'accord: cela ne met en évidence que la syntaxe. Mon projet personnalisé ne touche pas à la mise en évidence de la syntaxe: il définit des règles et donne un contexte pour que vos engagements git s'ouvrent afin qu'ils ne s'ouvrent pas dans le projet que vous avez ou avez ouvert pour la dernière fois. Les deux ne sont pas liés; faites les deux.
Gabriel Staples le
Je viens d'ajouter l'étape 2.5, MAIS (bit "mais" ici): je n'utilise pas toujours Sublime Text 3 comme éditeur (parfois j'utilise Eclipse car il a un suivi et une indexation des symboles bien supérieurs à Sublime même s'il s'agit autrement d'un éditeur merdique par rapport à Sublime), et je préfère vraiment utiliser Git à partir de la ligne de commande, donc je ne recommande absolument pas de sauter l'étape 1 même si vous installez le package "Git" dans Sublime comme je l'ai décrit à l'étape 2.5 tout à l'heure. Oui, vous pouvez faire Git Commits directement depuis Sublime mais je préférerais la ligne de commande.
Gabriel Staples le
CONSEIL: Si vous utilisez sublimeavec gitet utilisez également, trim_trailing_white_space_on_savevous souhaitez ajouter un alias pour l'ajout de correctif, car la suppression de l'espace blanc de fin interrompt les modifications de correctif là où cela est très significatif. Cela peut être réalisé avec quelque chose comme ceci:git config --global alias.patch "-c core.editor=vim add --patch"
Timo
3

Mvim comme éditeur git

Comme toutes les autres applications GUI, vous devez lancer mvim avec l'indicateur d'attente.

git config --global core.editor "mvim --remote-wait"
Matteo Rolla
la source
--remote-wait-silentpour éviter un vilain message d'erreur :)
Shinigami
2

Pour les utilisateurs de Windows qui souhaitent utiliser neovim avec le sous-système Windows pour Linux:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

Ce n'est pas une solution infaillible car elle ne gère pas le rebasage interactif (par exemple). Des améliorations très bienvenues!

brcolow
la source
1

Essayez EDITOR=vim git commit.

Ou vous pouvez configurer votre EDITEUR pour vim by export EDITOR=vimdans votre bashrc.

Xiao Hanyu
la source
1

Pour les utilisateurs de TextWrangler de la boutique d'applications Mac:

git config --global core.editor "open -n -W -a TextWrangler"

Assurez-vous également que le paramètre "TextWrangler> Préférences> Application> Lorsque TextWrangler devient actif:" est défini sur "Ne rien faire".

Cela fonctionne pour moi sur OS X 10.11.4 avec TextWrangler 5.0.2 de la boutique d'applications Mac.

Explication:

Le -n signifie ouvrir dans une nouvelle instance.

Le -W signifie attendre la fin de l'application avant d'utiliser le contenu du fichier modifié comme message de validation.

Les -a textwrangler signifie utiliser l'application textwrangler pour ouvrir le fichier.

Voir man opendans votre application Mac Terminal pour plus de détails.

DLRdave
la source
Si TextWrangler est déjà ouvert, votre solution ouvrira une autre instance avec le même ensemble de fichiers que la première. Cela semble dangereux.
Klaas
J'ai installé les outils de ligne de commande TextWrangler ( barebones.com/support/textwrangler/cmd-line-tools.html ), puis utilisé git config --global core.editor "edit -w". Cela ouvrira le message de validation dans l'instance actuelle et dès que vous fermerez uniquement ce document de message de validation, la validation continuera.
Klaas
1

Pour Mac OS X, en utilisant TextEdit ou l'éditeur d'environnement naturel pour le texte:

git config --global core.editor "open -W -n"
Reimond Hill
la source
1

Tout simplement parce que je suis venu ici à la recherche d'une solution unique (dans mon cas, j'utilise généralement vimmais cette fois-ci, je voulais utiliser VS Code) pour une seule commande et que d'autres voudraient peut-être également savoir:

GIT_EDITOR='code -w' git rebase -i 

Voici ma git/ hubversion juste pour le contexte:

git version 2.24.2 (Apple Git-127)
hub version 2.14.1
Ben Saufley
la source
1

Pour faire de vim l'éditeur par défaut de git sur ubuntu 20:04, exécutez la commande suivante:

git config --global core.editor vim
Hamfri
la source
0

Pour les utilisateurs d'IntelliJ

Lorsque j'essayais de git rebaser, j'obtenais l'erreur suivante: 'indice: en attente de la fermeture du fichier par votre éditeur ... code -n -w: code: commande introuvable erreur: il y avait un problème avec le code de l'éditeur' -n -w '.'

La même erreur est apparue lorsque j'essayais d'associer IntelliJ à Git: entrez la description de l'image ici

Le problème était que je n'avais pas ajouté le code de commande dans ma variable d'environnement PATH. Et je ne voulais pas utiliser Visual Studio Code depuis mon terminal. C'est pourquoi il a invité "commande introuvable". J'ai résolu cela en supprimant

éditeur = code -n -w

à partir de la section principale de mon fichier .gitconfig. Git a de nouveau fonctionné correctement.

Petra
la source
-1

Pour les utilisateurs de Textmate

Cela ouvre l'éditeur Textmate lorsque vous souhaitez modifier vos validations. Nécessite l'installation des outils de ligne de commande textmate.

git config --global core.editor "mate -w"

Matej
la source
@givanse que voulez-vous dire?
Matej
2
Je suppose qu'il veut dire que c'est trivial par analogie avec la réponse vim?
Rup
hmm non ce n'est pas le cas, mais si vous utilisez autre chose que vim (comme textmate).
Matej
textmate a également une option "wait", donc pour moi, c'est ceci: git config --global core.editor "/usr/local/bin/mate -w"
vraiment
-1

Pour les utilisateurs de Windows qui souhaitent utiliser Kinesics Text Editor

Créez un fichier appelé 'k.sh', ajoutez le texte suivant et placez-le dans votre répertoire personnel (~):

winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1

À l'invite git, tapez:

git config --global core.editor ~/k.sh
Mike Cheel
la source