Je préférerais écrire mes messages de commit dans Vim, mais cela les ouvre dans Emacs.
Comment configurer Git pour qu'il utilise toujours Vim? Notez que je veux le faire globalement, pas seulement pour un seul projet.
Si vous souhaitez définir l'éditeur uniquement pour Git, effectuez l'une ou l'autre (vous n'avez pas besoin des deux):
core.editor
dans votre configuration Git: _git config --global core.editor "vim"
_GIT_EDITOR
: _export GIT_EDITOR=vim
_Si vous souhaitez définir l'éditeur pour Git ainsi que pour d'autres programmes , définissez les variables d'environnement standardisées VISUAL
et EDITOR
*:
_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 : Ajoutez ceci au _.gitconfig
_. Le _--wait
_ est important. (cela permet de taper du texte en sublime et d'attendre l'événement de sauvegarde/fermeture.
_[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é.
Copier coller ceci:
git config --global core.editor "vim"
Au cas où vous voudriez savoir ce que vous faites. De man git-commit
:
VARIABLES ENVIRONNEMENT ET CONFIGURATION
L’éditeur utilisé pour éditer le message du journal de validation sera choisi parmi la variable d’environnement
GIT_EDITOR
, la variable de configurationcore.editor
, la variable d’environnementVISUAL
ou la variable d’environnementEDITOR
( dans cet ordre).
Sur Ubuntu et aussi Debian (merci @MichielB), il est également possible de modifier l'éditeur par défaut en exécutant:
Sudo update-alternatives --config editor
Ce qui incitera 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:
Dans Windows 7, lors de l'ajout de l'éditeur "Sublime", cela me donnait toujours une erreur:
Abandon de la validation en raison d'un message de validation vide.
Sublime n'a pas réussi à rester concentré.
Pour résoudre ce problème, j'ai ouvert le fichier .gitconfig dans c:/users/nom_utilisateur/dossier et ajouté la ligne suivante avec l'option --wait en dehors des guillemets.
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
J'espère que c'est utile pour quelqu'un confronté au même problème avec Sublime.
C:\Users\YOUR_USERNAME\.gitconfig
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
git commit
et appuyez sur Enter
. Cela ouvrira Notepad ++.Pour faire de Visual Studio Code (vscode) votre éditeur git par défaut
git config --global core.editor "code --wait"
Et si vous travaillez avec des concepteurs utilisant la ligne de commande, alors Pico, et ne savez pas les raccourcis;)
git config --global core.editor "pico"
Ou
export VISUAL=pico
export EDITOR=pico
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"
git config --global core.editor "atom --wait"
Atom doit être configuré pour être exécuté à partir de la ligne de commande afin que ce qui précède fonctionne:
OS X: installer les commandes Shell à partir d'Atom: barre de menus> Atom>> Installer les commandes Shell
Windows: aucune action requise - atom est configuré pour être exécuté à partir de la ligne de commande par défaut
git config --global core.editor notepad.exe
Frappé Ctrl+S pour enregistrer votre message de validation. Pour le supprimer, fermez simplement la fenêtre du bloc-notes sans enregistrer.
Si vous cliquez sur le raccourci pour enregistrer, puis décidez d’abandonner, sélectionnez Fichier-> Enregistrer sous et, dans la boîte de dialogue qui s’ouvre, remplacez "Type de fichier" par "Tous les fichiers (*. *)". Vous verrez un fichier nommé "COMMIT_EDITMSG". Supprimez-le et fermez la fenêtre du bloc-notes.
Edit: Vous pouvez également, plus facilement, supprimer tout le contenu de la fenêtre du bloc-notes ouverte et cliquer sur Enregistrer. (merci mwfearnley pour le commentaire!)
Je pense que pour les petites critiques telles que les messages de commit, le bloc-notes sert le mieux, parce que c'est simple, existe-t-il avec Windows, s'ouvre-t-il en un rien de temps. Même votre sublime peut prendre une seconde ou deux à se déclencher lorsque vous avez une charge de plugins et autres choses.
Ceci fournit une réponse aux personnes qui arrivent à cette question et qui souhaitent peut-être lier un éditeur autre que vim.
La ressource liée, par Github , sera probablement tenue à jour, lors de la mise à jour des éditeurs, même si les réponses sont données sur SO (y compris celui-ci) ne sont pas.
Association d'éditeurs de texte avec git
Le message de Github montre exactement ce qu'il faut taper dans votre ligne de commande pour différents éditeurs, y compris les options/drapeaux spécifiques à chaque éditeur pour que cela fonctionne mieux avec git.
Notepad ++: 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 à .gitconfig
dans votre répertoire personnel.
Sous Windows, il est probable que le répertoire utilisateur soit C:\Users\your-user-name
, votre nom d’utilisateur étant votre nom de connexion.
À partir de la ligne de commande, vous pouvez accéder à ce répertoire en tapant cd ~
.
par exemple, une commande ci-dessus serait d'ajouter la ligne suivante sous la section [core]
comme suit:[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w
Si vous avez un éditeur différent, remplacez simplement par le chemin d'accès à votre éditeur, en utilisant l'une des méthodes ci-dessus. (et espérons qu'aucun drapeau ne sera nécessaire pour une utilisation optimale.)
Pour les utilisateurs d'emacs
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
Pour suivre ces instructions sous Windows, assurez-vous d’avoir installé git for Windows . Sous Windows, j'aime utiliser Git BASH pour que cela ressemble davantage à Linux.
Tout d'abord, nous voulons créer un projet spécial Sublime Text afin de pouvoir spécifier les paramètres de projet spéciaux que nous voulons définir chaque fois que git appelle l'éditeur, afin de faciliter la tâche 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 git commit, je souhaite que ce soit 72 caractères afin qu’elle s’intègre parfaitement dans un terminal lorsque vous appelez _git log
_ ou git lg
.
Ouvrez Sublime Text et allez dans "Fichier" -> "Nouvelle fenêtre" pour créer un nouveau projet anonyme. Allez dans "Projet" -> "Enregistrer le projet sous ..." et choisissez un emplacement pour l'enregistrer. Sous Linux , je l’ai sauvegardé dans mon répertoire de base Linux sous le nom de fichier _.gitconfig.sublime-project
_. Son chemin est donc: _~/.gitconfig.sublime-project
_. Sous Windows , enregistrez-le également dans votre répertoire personnel, ex: _C:\Users\MY_USER_NAME\.gitconfig.sublime-project
_. Cliquez maintenant sur "Projet" -> "Modifier le projet" pour le 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":
[
]
}
_
Nous devons maintenant définir l'éditeur à utiliser par git, en éditant le fichier _.gitconfig
_.
Votre copie utilisateur sera située dans _~/.gitconfig
_. Ouvrez ce fichier et ajoutez les lignes suivantes. Assurez-vous d'utiliser le nom de chemin correct pour le projet git que vous venez de créer ci-dessus! J'utilise _~/.gitconfig.sublime-project
_.
_[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
_
Le _--wait
_ est important, car il oblige git à attendre que vous fermiez le fichier avant de continuer. La ligne _--project
_ est importante pour indiquer à Sublime Text le projet que vous voulez ouvrir chaque fois que git ouvre Sublime.
La réponse de @ digitaldreamer ci-dessus ( https://stackoverflow.com/a/2596835/4561887 ), "subl
peut être remplacée par le chemin complet de l'exécutable mais [l'alias subl
] est généralement disponible lorsque [Sublime est] correctement installé. "
Pour Windows, lisez d’abord les instructions Linux pour plus d’informations. Maintenant, nous allons faire quelque chose de presque identique.
(FACULTATIF: créez un alias subl
à utiliser dans Git BASH):
Ouvrez un éditeur de texte (ex: Notepad, 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 les éléments suivants dans celui-ci:
_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 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 dans votre répertoire actuel.
(OBLIGATOIRE):
Editez le fichier _.gitconfig
_ qui se trouve dans votre répertoire personnel: _C:\Users\MY_USER_NAME\.gitconfig
_, en y ajoutant les éléments suivants. Notez les modifications subtiles des instructions Linux ci-dessus:
_[core]
editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
_
/
_ NOT _\
_ pour séparer les dossiers dans le nom du chemin! (Merci VonC pour m'aider à voir ça ).subl
que nous avons créé pour Git BASH ci-dessus ne fonctionne pas ici, vous ne pouvez donc pas l'utiliser comme dans l'exemple Linux. Vous devez plutôt spécifier le chemin complet, comme indiqué ci-dessus.~
_, cependant, fonctionne toujours ici pour accéder à votre répertoire de base Windows.Cela vous donne la coloration syntaxique pour les messages _git commit
_, ainsi que l'accès à d'autres commandes git telles que _git blame
_ (que j'utilise fréquemment dans Sublime Text) ou _git commit
_ (que je n'utilise pas dans Sublime Text puisque je préférerais la ligne de commande pour le flux général git, 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 (identique à Outils → Palette de commandes) et tapez tout ou partie de "Contrôle de package: Installer le package", puis appuyez sur Entrée. Dans la boîte de recherche qui apparaît, recherchez le paquet "Git" et appuyez sur Entrée ou cliquez dessus pour l'installer automatiquement.
Une fois installé, Ctrl + Shift + P puis rechercher "git" fera apparaître les commandes git que vous pouvez utiliser en interne dans Sublime Text, telles que _git blame
_.
Maintenant, lorsque vous appelez _git commit
_, par exemple, comme d'habitude depuis la ligne de commande, Sublime Text s'ouvre dans le _.gitconfig.sublime-project
_ que nous avons créé ci-dessus, avec les paramètres de ce projet! Au fur et à mesure que vous tapez un paragraphe, vous remarquerez qu'il se prolonge au-delà de la règle que nous avons définie, puisque le retour à la ligne souple est désactivé. Pour forcer le retour automatique à la ligne à la fin de chaque ligne, placez le curseur sur la longue ligne à insérer automatiquement et appuyez sur Alt + Q. Il sera maintenant dur-wrap/hard-fold à 72 caractères, ce qui est défini dans le paramètre "règles" du paramètre de projet ci-dessus.
Maintenant, sauvegardez votre message de commit avec Ctrl + Set quittez (pour compléter votre _git commit
_) avec Ctrl + Shift + W.
Terminé!
Comme toutes les autres applications graphiques, vous devez lancer mvim avec l'indicateur d'attente.
git config --global core.editor "mvim --remote-wait"
Pour les utilisateurs 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'"
Ceci n'est pas une solution infaillible car elle ne gère pas le rebasage interactif (par exemple). Les améliorations sont les bienvenues!
Lors de l'utilisation de git-review
, je devais modifier la valeur de sequence.editor
pour pouvoir créer une rebase interactive (git rebase -i -p
):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim
nécessite: apt install vim-gtk
git config --global core.editor "open -n -W -a TextWrangler"
Assurez-vous également que votre 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 depuis le Mac App Store.
Explication:
Le - n signifie ouvert dans une nouvelle instance.
- W signifie attendre que l'application se ferme avant d'utiliser le contenu du fichier modifié en tant que message de validation.
Le - un TextWrangler signifie utiliser l'application TextWrangler pour ouvrir le fichier.
Voir man open
dans l'application Terminal de votre Mac pour plus de détails.
Essayez juste EDITOR=vim git commit
.
Ou vous pouvez configurer votre EDITOR sur vim par export EDITOR=vim
dans votre base.