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?

Diogène
la source
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.

alternative
la source
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

Ionuț G. Stan
la source
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
Kirk Strobeck
la source
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
Alexandre
la source
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.

Pablo Santa Cruz
la source
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 .

mrapacz
la source
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"

Ashutosh Mittal
la source