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

je préférerais écrire mes messages de commit dans Vim, mais il les ouvre dans Emacs.

comment configurer Git pour toujours utiliser Vim? Notez que je veux le faire à l'échelle mondiale, pas seulement pour un seul projet.

1970
demandé sur Mark Amery 2010-04-08 04:28:46

18 réponses

si vous voulez définir l'éditeur seulement pour Git, faites l'un ou l'autre (vous n'avez pas besoin des deux):

  • Set core.editor in your Git config: git config --global core.editor "vim"
  • Set GIT_EDITOR variable d'environnement: export GIT_EDITOR=vim

si vous voulez définir l'éditeur pour Git et aussi d'autres programmes , définir le standardisé VISUAL et EDITOR variables d'environnement*:

export VISUAL=vim
export EDITOR="$VISUAL"

* le réglage des deux N'est pas nécessairement nécessaire, mais certains programmes peuvent ne pas utiliser le VISUAL plus correct . Voir VISUAL vs. EDITOR .


Pour Le Texte Sublime : Ajouter ceci au .gitconfig . Le --wait est important. (il permet de taper du texte dans 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é.

2758
répondu digitaldreamer 2017-08-16 08:25:43

copier coller 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 éditer le message de propagation sera choisi à partir de la variable d'environnement GIT_EDITOR , de la variable de configuration core.editor , de la variable d'environnement VISUAL ou de la variable d'environnement EDITOR ordre.)

475
répondu Mark Rushakoff 2014-07-24 14:40:08

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

sudo update-alternatives --config editor

qui donnera lieu à 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: 
151
répondu Koen. 2016-12-26 23:19:50

dans windows 7, tout en ajoutant l'éditeur "Sublime" il me donnait encore une erreur:

abandon de commit dû à un message de commit vide.

Sublime n'a pas pu garder la concentration.

pour corriger ceci j'ai ouvert le .le fichier gitconfig dans c:/users/username / folder et a 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

espérons que son utile pour quelqu'un qui fait face à un problème similaire avec Sublime.

52
répondu Anmol Saraf 2014-03-07 00:00:37

sous Windows 7, paramétrage de l'éditeur à Notepad++

  • ouvrez n'importe quel éditeur de texte.
  • ouvrir ce fichier: C:\Users\YOUR_USERNAME\.gitconfig
  • ajouter cette section au bas de la page:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Enregistrez et fermez le fichier.
  • quand vous commettez avec git, écrivez git commit et appuyez sur Enter . Il pop ouvert Notepad++.
  • écrivez votre message de propagation en haut du fichier, et enregistrez et fermez le fichier. Fait!
49
répondu Ryan 2013-03-07 00:08:27

Et si vous travaillez avec des designers à l'aide de la ligne de commande puis Pico, et ne sais pas de raccourcis ;)

git config --global core.editor "pico"

ou

export VISUAL=pico
export EDITOR=pico
21
répondu tristanbailey 2012-06-27 13:56:25

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

git config --global core.editor "code --wait"
17
répondu Marcelo Mason 2016-06-28 20:42:33

paramétrage texte Sublime 2 en tant que git commit editor dans Mac OSX 10

exécuter 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"
16
répondu Mohsen 2015-07-23 18:36:33

Atome comme votre git éditeur

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

Atom doit être configuré pour fonctionner à partir de la ligne de commande ci-dessus:

OS X : installer des commandes shell à partir de Atom: barre de menu > 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

13
répondu 2Toad 2015-07-13 17:43:30

pour les utilisateurs d'emacs

.emacs :

(server-start)

shellrc :

export EDITOR=emacsclient
9
répondu Bendlas 2010-04-08 00:42:49

Windows: paramétrage du bloc-notes comme éditeur de messages de propagation par défaut

git config --global core.editor notepad.exe

Hit Ctrl + S pour enregistrer votre message de commit. Pour jeter, il suffit de fermer la fenêtre du bloc-notes sans sauvegarder.

dans le cas où vous appuyez sur le raccourci pour enregistrer, puis décider d'annuler, aller à Fichier->Enregistrer sous, et dans la boîte de dialogue qui s'ouvre, changer" Enregistrer sous le type "à" tous les fichiers (*.*)". Vous verrez un fichier nommé "COMMIT_EDITMSG". Supprimez-le, et fermez la fenêtre bloc-notes.

Edit: alternativement, et plus facilement, supprimez tout le contenu de la fenêtre du bloc-notes ouvert et cliquez sur Enregistrer. (merci mwfearnley pour le commentaire!)

je pense que pour les petites Écritures telles que les messages de propagation le bloc-notes sert mieux, parce qu'il est simple, est là avec des fenêtres, s'ouvre en peu de temps. Même votre sublime peut prendre une seconde ou deux pour être enflammé quand vous avoir une charge de plugins et d'autres choses.

9
répondu Sнаđошƒаӽ 2017-06-30 10:31:14

Meilleurs réglages pour Sublime Text 3 comme votre git éditeur (Windows & Linux instructions):

pour suivre ces instructions dans Windows, assurez-vous d'avoir installé git for Windows . Sous Windows, j'aime utiliser Git BASH pour que ça ressemble plus à Linux.

tout d'abord, nous voulons créer un projet de texte Sublime spécial pour que nous puissions spécifier des paramètres de projet spéciaux que nous voulons définir chaque fois que git appelle l'éditeur, à faire les choses sont plus faciles lors de l'édition en git. Par exemple, je mets normalement ma règle à 120 caractères dans la plupart des projets, mais pour git commit messages je veux qu'elle soit 72 caractères pour qu'elle s'adapte bien dans un terminal quand vous appelez git log ou git lg .


1. Créer un projet de texte Sublime avec les paramètres que nous voulons utiliser pour éditer les messages de propagation git

ouvrir texte Sublime et aller à" Fichier "-- > "nouvelle fenêtre" à créer un nouveau projet anonyme. Aller à" projet "-- > " Enregistrer le projet sous..."et choisir un endroit pour le sauver. sous Linux Je l'ai enregistré dans mon répertoire Linux avec le nom de fichier .gitconfig.sublime-project . Son chemin est donc: ~/.gitconfig.sublime-project . dans Windows sauvegardez-le aussi dans votre répertoire personnel, ex: C:\Users\MY_USER_NAME\.gitconfig.sublime-project maintenant allez à" projet "-- > "Éditer projet" pour modifier les paramètres du projet. Collez ce qui suit et sauvegardez les paramètres. Faites d'autres modifications pour votre projet réglages 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éfinir l'éditeur à utiliser par git

maintenant nous devons définir l'éditeur pour être utilisé par git, en éditant le fichier .gitconfig .

Pour Linux:

votre copie utilisateur de ceci sera localisée dans ~/.gitconfig . Ouvrez ce fichier et ajoutez les lignes suivantes. assurez-vous d'utiliser le nom de chemin approprié pour le projet git vous venez créé ci-dessus! j'utilise ~/.gitconfig.sublime-project .

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

le --wait est important, car il force git à attendre jusqu'à ce que vous fermiez le fichier avant qu'il ne continue. La ligne --project est importante pour dire texte Sublime quel projet vous voulez ouvrir chaque fois que git ouvre Sublime.

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

Pour Windows:

Pour Windows, lisez d'abord les instructions données pour Linux pour l'info de base. Maintenant, nous allons faire quelque chose presque identique.

(facultatif: créer un subl alias à utiliser dans Git BASH):

ouvrir un éditeur de texte (ex: Notepad, Notepad++, Sublime Text, Geany, etc), et créer un fichier appelé ".bash_profile" dans votre répertoire personnel. Son chemin sera donc: C:\Users\MY_USER_NAME\.bash_profile . Enregistrez ce qui suit:

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

cela crée un alias Git BASH appelé subl que nous pouvons maintenant utiliser dans Git BASH pour Windows, pour ouvrir facilement Sublime. Cette étape n'est pas nécessaire, mais elle est utile pour l'utilisation générale de Git BASH. Maintenant, vous pouvez appeler subl . , par exemple, à Git BASH pour ouvrir un nouveau projet Sublime dans votre répertoire courant.

(obligatoire):

éditez le fichier .gitconfig qui se trouve dans votre répertoire personnel: C:\Users\MY_USER_NAME\.gitconfig , en y ajoutant ce qui suit. Remarquez les changements subtils des 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 complet de L'exécutable de texte Sublime. notez la direction des barres obliques! Use / pas \ pour séparer les dossiers dans le nom de chemin! (Merci VonC pour m'avoir aidé à voir ce ).
  • notre alias subl que nous avons créé pour Git BASH ci-dessus ne fonctionne pas ici, donc vous ne pouvez 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 Windows home.

2.5. (Optionnel) installez le paquet "Git" dans Sublime Text 3.

cela vous donne la mise en évidence de la syntaxe pour les messages git commit , ainsi que l'accès à d'autres commandes git comme git blame (que j'utilise fréquemment dans le texte Sublime) ou git commit (que je n'utilise pas dans le texte Sublime puisque je préférerais la ligne de commande pour le flux git général, comme je l'ai mentionné dans mes commentaires ci-dessous cette réponse).

pour installer un paquet: premièrement, s'assurer que" Package Control " est installé. Ensuite, appuyez sur Ctrl + Shift + P et tapez tout ou partie de" Contrôle Du paquet: installer le paquet", puis appuyez sur Entrée. Dans la zone de recherche qui apparaît, recherchez le paquet "Git" et cliquez sur Entrée ou cliquez dessus pour l'installer automatiquement.

une fois installé, Ctrl + Shift + P alors la recherche de" git "va faire apparaître des commandes git que vous pouvez utiliser en interne dans du texte Sublime maintenant, comme git blame .


3.

maintenant, quand vous appelez git commit , par exemple, comme d'habitude à partir de la ligne de commande, le texte Sublime s'ouvrira dans le .gitconfig.sublime-project que nous avons créé ci-dessus, avec les les paramètres de! Comme vous tapez un paragraphe, vous remarquerez qu'il s'étend au-delà de la règle que nous définissons depuis doux mot-enveloppement est éteint. pour forcer le dur wrap via Auto-insérée retours durs à la fin de chaque ligne, Mettez votre curseur sur la longue ligne que vous voulez auto-enveloppé et appuyez sur Alt + Q . il va maintenant dur-wrap / hard-fold à 72 caractères, ce qui est ce que nous avons mis dans les paramètres du projet "règles" paramètre ci-dessus.

maintenant, enregistrez votre message de propagation avec Ctrl + S , et quittez (pour compléter votre git commit ) avec Ctrl + Shift + W .

fait!

5
répondu Gabriel Staples 2018-04-03 15:52:30

Mvim comme votre éditeur git

comme toutes les autres applications GUI, vous devez lancer mvim avec le drapeau d'attente.

git config --global core.editor "mvim --remote-wait"
2
répondu Matteo Rolla 2015-08-12 14:40:09

essayez EDITOR=vim git commit .

ou vous pouvez définir votre éditeur à vim par export EDITOR=vim dans votre bashrc.

1
répondu Xiao Hanyu 2013-07-01 07:21:10

pour les utilisateurs de TextWrangler à partir de L'app store Mac:

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

aussi, assurez-vous que votre "TextWrangler > Preferences > Application > quand TextWrangler devient actif: "le paramètre est défini à" ne rien faire "

cela fonctionne pour moi sur OS X 10.11.4 avec TextWrangler 5.0.2 de L'app store Mac.

explication:

le - n signifie ouvert dans une nouvelle instance.

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

le - un TextWrangler signifie utiliser L'application TextWrangler pour ouvrir le fichier.

Voir man open dans votre Mac Terminal d'application pour plus de détails.

1
répondu DLRdave 2016-04-15 21:32:19

pour les utilisateurs de Windows qui veulent 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'"

C'est et non une solution infaillible car elle ne gère pas le rebasage interactif (par exemple). Les améliorations sont les bienvenues!

1
répondu brcolow 2016-12-08 21:21:44

Pour Les Utilisateurs De Textmate

ouvre l'éditeur Textmate lorsque vous voulez éditer vos propagations. Nécessite l'installation d'outils en ligne de commande textmate.

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

-1
répondu code ninja 2015-07-23 19:46:18

pour les utilisateurs de Windows qui veulent utiliser Kinesics éditeur de texte

Créer un fichier nommé 'k.sh", d'ajouter le texte suivant et le placer dans votre répertoire home (~):

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

à l'invite de type git:

git config --global core.editor ~/k.sh
-1
répondu Mike Cheel 2016-06-01 14:17:58