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.