Comment puis-je utiliser emacs avec git dans le terminal?
On décembre 31, 2020 by admin Jai utilisé git config --global core.editor emacs
pour définir mon éditeur git comme emacs, mais quand je fais cela et que je commets quelque chose, le Léditeur ouvre une nouvelle fenêtre au lieu douvrir emacs dans le terminal. Je veux utiliser emacs comme si -nw lui était donné mais écrire ceci -> git config --global core.editor emacs -nw
nest pas la solution.
Je dois utiliser git de base pour le moment.
Commentaires
- Connaissez-vous magit? Il fait des opérations de base sur git un jeu denfant depuis Emacs. magit.vc
- Oui. Ne peut ' pas lutiliser pour le moment. Une fois le cours terminé, je ' passer au niveau magit.
- Décrivez ce qui se passe lorsque vous ajoutez " -nw " au lieu de simplement déclarer que " nest pas la solution ". Cela fonctionne pour moi, lorsque la commande est correctement échappée.
Réponse
Lorsque vous exécutez git config --global core.editor emacs -nw
, votre shell divise la ligne de commande en mots avant dappeler git. Git voit donc « emacs -nw » comme deux arguments séparés. Il nen faut quun pour mettre dans le fichier de configuration, donc lautre est ignoré. (En fait, cest « un mensonge mais vous pouvez consulter la page de manuel pour plus de détails.) Vous pouvez mettre des guillemets autour dune série de mots pour dire à votre shell de ne pas les briser: git config --global core.editor "emacs -nw"
donnez « emacs -nw » à git comme argument unique qui fera ce que vous voulez.
Réponse
Vous ne spécifiez pas quel est le problème avec louverture dune nouvelle fenêtre emacs GUI. Si le problème est le long temps de démarrage, vous pouvez envisager dutiliser emacsclient comme éditeur. En un mot, vous exécutez (server-start)
dans votre fichier init emacs et gardez votre interface graphique standard emacs ouverte, puis dites à git dutiliser un éditeur appelé emacsclient. Ce qui se passe, cest que le fichier édité apparaît dans un nouveau tampon dans votre emacs en cours dexécution. Une fois que vous en avez terminé, appuyez sur C-x #
pour terminer la session emacsclient, puis git (ou tout autre processus shell qui a démarré léditeur) sait que léditeur « emacsclient » a terminé avec le fichier et continue avec sa chose. (« emacsclient » est aussi un mot, donc il résout également votre problème immédiat)
Même lorsque votre édition doit être effectuée dans la fenêtre du terminal, vous pouvez exécuter emacsclient -nw
et éliminez le long temps de démarrage. Il y a plus de possibilités, man emacsclient
est une bonne lecture.
Commentaires
- (serait ' jai été mieux en tant que commentaire sur la réponse ci-dessus, mais je nai pas été autorisé à publier des commentaires)
- Jai ' recherché partout pour cela, totalement heureux que ' est une réponse 🙂
- Le principal problème que jai est que cela ne ' t renvoie toujours le focus au terminal après avoir quitté emacs. Il y a des situations où le focus nest jamais retourné, comme lorsque vous avez une fenêtre placée comme toujours en haut, cette fenêtre semble accrocher le focus après avoir quitté emacs.
Laisser un commentaire