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.
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é.
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 configurationcore.editor
, de la variable d'environnementVISUAL
ou de la variable d'environnementEDITOR
ordre.)
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:
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.
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 surEnter
. Il pop ouvert Notepad++. - écrivez votre message de propagation en haut du fichier, et enregistrez et fermez le fichier. Fait!
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
pour faire de Visual Studio Code (vscode) votre éditeur git par défaut
git config --global core.editor "code --wait"
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"
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
pour les utilisateurs d'emacs
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
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.
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!
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"
essayez EDITOR=vim git commit
.
ou vous pouvez définir votre éditeur à vim par export EDITOR=vim
dans votre bashrc.
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.
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!
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"
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