Changer l'éditeur par défaut pour les fichiers ouverts dans le terminal? (par exemple, réglez-le sur TextEdit / Coda / Textmate)


110

Existe-t-il un moyen de rendre les fichiers ouverts pour édition dans le terminal ouverts dans Textedit à la place?

Par exemple, lorsqu'une commande peut ouvrir un fichier pour modification (comme git commit), au lieu d'ouvrir ce fichier dans vim ou emacs, elle s'ouvrirait dans Textedit (ou peut-être une autre application d'édition de texte de votre choix, telle que Coda ou Sublime).

Et comme question bonus, existe-t-il un moyen de configurer spécifiquement git pour ouvrir automatiquement le fichier créé après l'exécution git commitdans un éditeur à partir du répertoire des applications?


1
Oui, j'utilise OSX (10.6.4).
— Diogenes

La meilleure solution que j'ai trouvée est d'utiliser duti-> apple.stackexchange.com/a/123954/58507
— Gomino

pour mac os 10.10+, les solutions ci-dessus ne fonctionneront pas. Essayez ceci apple.stackexchange.com/questions/123833/…
— Rishikesh Shukla

Réponses:


137

La plupart des programmes vérifieront la $EDITORvariable d'environnement, vous pouvez donc la définir sur le chemin de TextEdit dans votre bashrc. Git l'utilisera également.

Comment faire ceci:

  • Ajoutez ce qui suit à votre ~/.bashrcfichier:
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • ou tapez simplement la commande suivante dans votre terminal:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

Si vous utilisez zsh, utilisez à la ~/.zshrcplace de ~/.bashrc.


20
Parfait, ça le fait. J'ai également exécuté cette commande pour m'assurer que git fonctionne comme je l'attendais. Ceci git config --global --unset-all core.editoralors git config --global --add core.editor "open -W -n".
— Diogenes

Utilisez-vous un autre shell?
— alternative

5
dans mon cas, j'utilise zshdonc évidemment je dois mettre à jour le .zshrcfichier de configuration.
— Malloc

3
utilisez des guillemets si le chemin de votre éditeur contient des espaces, par exemple "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" Et vous devrez peut-être recharger votre .bashrc avec:source ~/.bashrc
— Mars Redwyne

Merci, j'ai défini l'éditeur nano par défaut. Voici comment l'ajouter à OSX: http://hints.macworld.com/article.php?story=20021017065800302
— Micer

28

Utilisez git config --global core.editor mate -wou git config --global core.editor opencomme le suggère @dmckee dans les commentaires.

Référence: http://git-scm.com/docs/git-config


3
... et le configurer à utiliser opensignifie que vous obtenez automatiquement la valeur par défaut du chercheur. Ainsi, les changements dans le viseur se propagent naturellement.
— dmckee --- ex-moderator chaton

4
openutilise Launch Services pour déterminer le type de fichier, principalement en fonction de son extension. Si le fichier a une extension inconnue, il ne parviendra pas à ouvrir le fichier. Généralement, votre éditeur CLI devrait être quelque chose qui suppose des fichiers texte ...
— Gordon Davisson

Des instructions (très) explicites seraient très utiles ... la référence est extrêmement concise.
— Diogenes

2
@Diogenes: Voir ma réponse sur un autre post si vous avez encore besoin d'une aide plus explicite: stackoverflow.com/questions/6435246/…
— X-Istence

4
Mieux vaut git config --global core.editor "open -W"(sinon vous obtiendrez une Aborting commit due to empty commit message.erreur).
— rsenna le

18

Pour OS X et Sublime Text

Rendre subldisponible.

Mettez ça dans ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

Mettez ça dans ~/.bashrc

export EDITOR=subl

J'ai trouvé que cela ne fonctionne pas correctement avec chsh. Le fichier s'ouvre, mais toutes les modifications sont perdues. Je devais utiliser chsh -s /bin/zshpour changer de coquille manuellement.
— Cryptc

9

Pour tous ceux qui viennent ici en 2018:

  • allez dans iTerm -> Préférences -> Profils -> Avancé -> Historique sémantique
  • dans le menu déroulant, choisissez Ouvrir avec l'éditeur et dans le menu déroulant de droite, choisissez l'éditeur de votre choix

5

Configurez votre éditeur pour qu'il pointe vers ce programme:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Avec SVN, vous devez définir SVN_EDITORla variable d'environnement sur:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

Et puis, lorsque vous essayez de commettre quelque chose, TextEdit se lance.


1
Je préférerais utiliser /usr/bin/open, car cela utilisera la valeur par défaut du chercheur, quel que soit votre réglage.
— dmckee --- ex-moderator chaton

Comment feriez-vous la même chose pour git?
— Diogenes

Le premier, c'est juste définir EDITOR = sur cela, mais que dois-je taper pour la deuxième ligne?
— Utilisateur


0

Si vous voulez que l'éditeur fonctionne avec les opérations git, la définition de la $EDITORvariable d'environnement peut ne pas être suffisante, du moins pas dans le cas de Sublime - par exemple, si vous voulez rebaser, il dira simplement que le rebase a réussi, mais vous avez gagné ' Vous n'avez aucune chance d'éditer le fichier de quelque manière que ce soit, git le fermera tout de suite:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

Si vous voulez que Sublime fonctionne correctement avec git, vous devez le configurer en utilisant:

git config --global core.editor "sublime -n -w"

Je suis venu ici à la recherche de cela et j'ai trouvé la solution dans ce résumé sur github .


0

faire de Sublime Text 3 votre éditeur de texte par défaut: (Redémarrage requis)

defaults write com.apple.LaunchServices LSHandlers -array-add "{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}"

rendre sublime alors votre éditeur de texte git par défaut git config --global core.editor "subl -W"

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.